bash编程语法自我总结

时间:2021-05-09 14:34:57
脚本2种执行方式:
1 直接执行,等于bash衍生一个子程序,当该子程序完成后,子程序内各项变量活动作不会传回父程序

2 利用source执行,直接在父程序中执行

X=/bin/xdo cmd
执行cmd命令,X已在其环境变量中了

bash中的空命令 :(冒号)

$# 脚本参数个数
$@ 全部独立变量
$* 全部变量,中间用分隔符分开
$$ 当前pid

以数字计算 $((…)) 或者 declare -i a = $a+$b
kill -l 1234 >err.txt 2>&1
${#var} 返回var值的字符数

for f in *
do;…;done

for((init;limit;step))
do;…;done

'grep ...' = $(grep ...)
read test=[ ] 

if ... 
then
elif ... ;then
else
fi

while [] do
     ...
done
until [] do
     ...
done

循环一行表示:
while [ ] ;do ...;done

在done后加&,即可将循环放在后台执行。同理放置重定向符或管道符,可以将某个循环重定向。

case val in
     "…")
          ;;
     “…”)
          ;;
     *)
          ;;
esac

|| &&

is_ok && {...}

function func() {...}

break : continue . echo eval exec exit n export expr printf return set 
shift 左移脚本参数 
trap unset 


[ -f .profile ] && exit 0 || exit do

find . -newer file0 -type f -print

$(($x+1))

function name {}
name(){}
return local

命令分组
(...) 在子shell中执行 :(x=10)
{...} 在当前shell中执行 : { x=10; }