shell脚本备忘

0、在shell中可以写多行,执行后,再次执行历史命令,就会变成一行,自动用;分割语句。

0.1 数字比较 if test 3 -gt 2 #gt/lt/eq/ne/ge/le  greater than/less than/equals/not equals/greater equals

0.2 文本比较 =/!=/-z 长度为0/-n 长度不为0

0.3 逻辑运算 &&  ||   

0.4 运算

val=`expr 2 + 2`
for i in {1..3}; do echo `expr $i \* $i`; done  #*比较特殊,需要加转义符


1、if [ -f /c/log.txt ] ; then echo abc; fi  #注意分号的位置,每个分号分割一条语句。#注意文件路径,必须是linux分割符

      if [ -f /c/log2.txt ] ; then echo ; elif [ -f /c/log2.txt ];then echo elif; else echo else; fi #注意,只有else后面的语句不用加then

2、for i in {1..3}; do echo $i; done;

3、if [ -f /c/log2.txt ] ; then echo ; elif [ -f /c/log2.txt ];then echo elif; else for i in {1..3};do echo $i;done ; fi

4、for i in {1..30}; do echo $i:; curl 127.0.0.1:3333/add -s; echo; sleep 2; done;

5、echo -e "abc\ndef"    #-e表示启用解释反斜杠转义
echo -n "abc"  #echo本身默认最后会输出一个换行,要禁用最后的换行,可使用-n

echo  功能说明:显示文字。
语   法:echo [-ne][字符串]或 echo [--help][--version]
补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。
参   数:-n 不要在最后自动换行
 -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;

\v 与\f相同;
\\ 插入\字符;

6、判断字符串 startwith

if [[ $1 == "/"* ]]
then
 WORKSPACE=$1
else
 WORKSPACE=$SCRIPT_DIR/$1
fi

7、执行命令并获取结果,2种写法

echo `pwd`

echo $(pwd)


你可能感兴趣的:(其它)