Bash 检查unix列表中的参数
我在一个列表中有一个名字列表(比如name.txt),其中有一组名字列表 name.txtBash 检查unix列表中的参数,bash,unix,Bash,Unix,我在一个列表中有一个名字列表(比如name.txt),其中有一组名字列表 name.txt babu praveen kamal sneha 在我的bash脚本中,此名称将作为运行时参数$1传递。 现在我必须做一个匹配来检查输入的名字是否在我的列表中 如果它不在那里,那么我将打印出无效名称并退出。你能帮我吗 我试过这个 if [[ "$1" != "babu" || "$1" != "praveen" || "$1" != "kamal" ... ]]; then exit fi 但
babu
praveen
kamal
sneha
在我的bash脚本中,此名称将作为运行时参数$1传递。
现在我必须做一个匹配来检查输入的名字是否在我的列表中
如果它不在那里,那么我将打印出无效名称并退出。你能帮我吗
我试过这个
if [[ "$1" != "babu" || "$1" != "praveen" || "$1" != "kamal" ... ]]; then
exit
fi
但这在职业上看起来并不好
有没有其他简单而体面的方法来实现这一点?我想你可以使用grep:
if ! grep -qFxf name.txt <<<"$1"; then
exit
fi
if!grep-qFxf name.txt/dev/null
添加到命令,如注释中所示。这将防止显示发送到标准错误的任何消息。可能控制stderr
<代码>grep-qFxf name.txt