如何在bash Linux中检查字符串是否包含命令?
我试过这样做,但它不起作用
read x ;
if [ $x -eq $0 ] ;then
echo x is a command
else
echo is a string;fi
任何人都可以帮助吗?
答案 0 :(得分:2)
使用bash的内置type
read x
type "$x"
对结果采取行动:
if type "$x" &>/dev/null; then
# this is a builtin/function/alias/executable
else
# this is not
fi
http://www.gnu.org/software/bash/manual/bashref.html#index-type
答案 1 :(得分:1)
任何字符串都可以是命令。您可以做的事情是使用which
来确定$PATH
上是否有这样命名的可执行文件。
检查which $x