Shell编写规范总结——脚本开头Shell编写规范总结——脚本开头
官⽹模板
#!/bin/bash
set -eo pipefail
shopt -s nullglob
set解释
脚本只要发⽣错误,就终⽌执⾏
set -e
⽰例
未加set
#!/bin/bash
foo
echo 1
// 执⾏结果:
// 1.sh:⾏3: foo: 未到命令
// 1
添加之后
#!/bin/bash
set -e
foo
echo 1
// 执⾏结果:
/
/ 1.sh:⾏4: foo: 未到命令
但是这种情况遇到管道就不⾏了,他只认为管道后⾯的命令成功就⾏
#!/bin/bash
set -e
foo|echo 1
echo 1
// 执⾏结果:
// 1.sh:⾏4: foo: 未到命令
// 1
// 1
使⽤pipfail⽅式
#!/bin/bash
shell最简单脚本set -eo pipefail
foo|echo 1
echo 1
// 执⾏结果:
// 1
// 1.sh:⾏4: foo: 未到命令
shopt解释
⽰例
[root@localhost tmp]# shopt nullglob
nullglob        off
[root@localhost tmp]# mkdir tmp
[root@localhost tmp]# cd tmp
[root@localhost tmp]# for i in *; do echo "file: $i"; done
file: * 【这⾥把通配符*作为字符输出了】
[root@localhost tmp]# shopt -s nullglob
[root@localhost tmp]# shopt nullglob
nullglob        on
[root@localhost tmp]# for i in *; do echo "file: $i"; done
【没有输出结果】

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。