微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – bash:“set -e”并检查用户是否存在make script exit

我正在编写一个Bash安装程序的脚本.我想退出错误,所以我将set -e添加到我的脚本的开头.

我必须检查脚本中是否存在用户.要做到这一点,我使用grep ^ ${USER}:/ etc / passwd.如果用户存在,则脚本正常运行.但是,如果用户不存在,则退出此命令.如果发生后一种情况,我不想退出.相反,我想创建用户并继续我的安装.

什么是使我的脚本继续运行的解决方案?我试图将grep的输出重定向到变量,但我仍然遇到同样的问题.

解决方法

你总是可以做下面这样的事情.基本上禁用围绕正在运行的命令的退出检查.
#!/bin/bash
set -e # eanble exit checking
lorem ipsum 
dolor sit amet
# temp disable exit checking
set +e
grep "^${USER}:" /etc/passwd
set -e
consectetur adipiscing elit

原文地址:https://www.jb51.cc/linux/396273.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐