![shell脚本中的“*”和“[[]]”符号是什么意思?](https://linux22.com/image/205478/shell%E8%84%9A%E6%9C%AC%E4%B8%AD%E7%9A%84%E2%80%9C*%E2%80%9D%E5%92%8C%E2%80%9C%5B%5B%5D%5D%E2%80%9D%E7%AC%A6%E5%8F%B7%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D%EF%BC%9F.png)
这是我的代码:
Number=12
ListOperation=('+' '/' '*' '-')
if [[ " ${ListOperation[*]} " == *"/"* ]]; then
let Result="$Number $operation $Number"
echo $Result
fi
为什么“if”中使用了两次“[]”?为什么“/”字符串旁边使用“*”?
答案1
您可以将[[
...]]
视为一个控制字符序列,它向 bash 发出信号,以评估在它们之间找到的任何表达式作为条件表达式。
同样,*
也是一个特殊的控制字符,它告诉 bash “匹配任何内容”。随着您对编程越来越熟练,您将了解到它的正确名称是元字符,但这现在并不重要。
要了解 bash 条件表达式,您可以man bash
在终端上键入,然后输入 跳到该部分/,然后在出现的提示符上键入 ,CONDITIONAL EXPRESSIONS
然后输入Enter。您可能需要输入n
几次才能到达实际部分。
学习的过程中享受乐趣。