如果是一个“[]”会报错:unary operator excepted
正确写法:if [[ $1 = 'tomcat' ]]
注意:要有两个“[]”,且“[]”内的值前后要有空格。“=”前后也要有空格。
#!/bin/bash
if [[ $1 = 'tomcat' ]];
then
echo "Input is tomcat"
elif [[ $1 = 'redis' ]] || [[ $1 = 'zookeeper' ]];
then
echo "Input is $1"
else
echo "Input Is Error."
fi
注:else后要有值。
加法正确运算:((num=$num+1))
注:要有两个“()”。
获取文件名:${file}。
假设我们定义了一个变量为:
file=/dir1/dir2/dir3/my.file.txt
可以用${ }分别替换得到不同的值:
${file#*/}:删掉第一个/ 及其左边的字符串:dir1/dir2/dir3/my.file.txt
${file##*/}:删掉最后一个/ 及其左边的字符串:my.file.txt
${file#*.}:删掉第一个. 及其左边的字符串:file.txt
${file##*.}:删掉最后一个. 及其左边的字符串:txt
${file%/*}:删掉最后一个 / 及其右边的字符串:/dir1/dir2/dir3
${file%%/*}:删掉第一个/ 及其右边的字符串:(空值)
${file%.*}:删掉最后一个 . 及其右边的字符串:/dir1/dir2/dir3/my.file
${file%%.*}:删掉第一个 . 及其右边的字符串:/dir1/dir2/dir3/my