推荐一个 IDEA 的 shell 检查插件,Shell Script强烈推荐,idea 官方出品,里面有一个扩展 shellcheck,在你打开 sh 脚本的时候会提示你是否安装它,这个很有用,会告诉你一些写法可能是有问题的,然后可以根据提示(一般有问题的会有黄色的背景)你可以去看看为什么会有提示,要如何修改。这个功能还挺不错的,强烈推荐

基础知识

遇到错误信息停止执行后续脚本

  1. #!/bin/bash
  2. set -o errexit

大部分情况使用 set -o errexit 都能实现效果

修改脚本权限

增加执行权限后,可以使用 ./xx.sh 来执行脚本

  1. chmod u+x file.sh

cd 目录失效

如下一段代码,通过 ./xx.sh 执行代码,进入会失效.

  1. cd /data/xxx
  2. rm -rf xx.txt

可以增加脚本头来解决(这只是其中一个方法,应该是比较标准的方法)

  1. #!/bin/sh
  2. cd /data/xxx
  3. rm -rf xx.txt

再次执行发现报错:/bin/sh^M: bad interpreter: No such file or directory

错误原因是:在 windows 下编写的脚本,手动解决如下

手工转换为 unix 格式

  1. # 在vi命令模式中使用以下命令查看格式
  2. :set ff
  3. # 修改为 unix 格式
  4. set ff=unix

但是这样一个一个修改会很麻烦。可以使用 dos2unix 工具修改

dos2unix 转换为 unix 格式

  1. yum install dos2unix
  2. dos2unix ./*.sh

再次执行就会发现目录进入正常了;