(1): 空操作,返回退出状态0
(2)exec command:运行命令,替换掉当前Shell
示例:
#!/bin/bash
if [ 1 == 1 ];then
:
echo 123456
exec uname
fi
echo end
执行结果:
123456
Linux
在不创建新进程的情况下执行命令,原脚本后面未执行
(3)getopts:解析并处理命令行选项
(4)wait
示例:
(这里有三个脚本,test.sh / test1.sh /test2.sh)
test.sh
#!/bin/bash
./test1.sh &
./test2.sh &
echo "sleep done"
#!/bin/bash
sleep 3
echo "test1"
#!/bin/bash
sleep 3
echo "test2"
这时直接输出 sleep done 后再输出了 test1, test2
为了保证test1.sh以及test2.sh的命令能先执行完再往下面执行,追加一个wait内置命令。
#!/bin/bash
./test1.sh &
./test2.sh &
wait
echo "sleep done"
这时会等待 test1.sh 和 test2.sh 结束后输出 sleep done。
主要使用场景,在多CPU的环境里执行任务时可以启动几个命令后台并发执行以加快执行速度,在执行完后退出。