原文地址:开发者导航 · 你想要的,我全都有!
/bin/sh与/bin/bash的区别
sh:如果前面有语句报错,则报错语句后面的命令不执行
bash:如果前面有语句报错,后面的命令也会执行
sh跟bash的区别,实际上就是bash有没有开启posix模式的区别(遵循posix的特定规范,有可能就包括这样的规范:“当某行代码出错时,不继续往下解释”)
脚本第一句:
#!/bin/sh 等同于 #!/bin/bash --posix
第一个shell脚本
#!/bin/bash
#author wangxiangyu
# 2017-05-29
echo 'hello world' > /home/crontab/test.log
注意:
#!/bin/bash 表示使用bash版本的shell脚本,固定格式
echo 输出语句
如果在Windows系统环境下编写shell脚本,会报“/bin/sh^M: bad interpreter: No such file or directory”异常,原因是两种系统有些字符(比如回车符)不一样,Linux识别不了造成的,可以使用:dos2unix hello.sh命令转换格式
系统可能没有安装这个命令的包,可以手动安装,使用命令:yum -y install dos2unix
脚本执行方式
1、赋予执行权限,直接运行
chmod 755 hello.sh
./hello.sh(相对路径) 或 /test/hello.sh(绝对路径)
2、通过bash调用执行脚本
bash hello.sh