shell脚本如何打印命令出错的信息 在命令行执行passwd报错: can't update password file /etc/passwd 但将passwd写进脚本后执行就无法让显示上面的错误信息,如何让他显示出来
时间: 2024-05-08 10:17:51 浏览: 116
youxituiguang.rar_../../../etc/passwd_../etc/passwd_/etc/passwd_
可以在脚本中使用set -e命令来使脚本在执行出错时立即退出,并打印出错信息。例如:
```
#!/bin/bash
set -e
passwd
```
执行这个脚本时,如果passwd命令出错,就会立即退出,并打印出错信息。如果想要手动处理错误信息,可以使用set +e命令来关闭这个功能。例如:
```
#!/bin/bash
set -e
passwd || true
set +e
```
这样,即使passwd命令出错,脚本也不会立即退出,而是会继续执行后面的命令。同时,使用了|| true来让脚本在遇到错误时返回0状态,避免了脚本整体返回非0状态的问题。最后,使用set +e来关闭错误立即退出的功能,可以手动处理错误信息。
阅读全文