我有.bin文件,其中包含很多脚本,在Ubuntu上安装程序并在通过终端安装后
sudo chmod u+x myprogram.bin
./myprogram
我在/ usr / bin / myprogram中有。
我需要编写程序,检查某个程序是否已正确安装到系统中。我怎样才能做到这一点 ?
答案 0 :(得分:0)
以下任何一项都应该有效
$ command -v foo >/dev/null 2>&1 && echo "installed" || echo "not installed"
$ type foo >/dev/null 2>&1 && echo "installed" || echo "not installed"
$ hash foo >/dev/null 2>&1 && echo "installed" || echo "not installed"
在您的情况下,您可以使用
$ command -v /usr/bin/myprogram >/dev/null 2>&1 && echo "installed" || echo "not installed"
或者你可以创建如下的功能
#!/usr/bin/env bash
installed()
{
command -v "$1" >/dev/null 2>&1
}
# and then
if installed ls; then
echo 'ls exists'
else
echo 'ls not installed'
fi
示例:
$ command -v ls >/dev/null 2>&1 && echo "installed" || echo "not installed"
installed
$ command -v foo >/dev/null 2>&1 && echo "installed" || echo "not installed"
not installed
如果您已经知道应用程序/程序的完整路径,则以下任何一项都可以正常工作
$ test -x /bin/ls && echo 'installed' || echo 'not installed'
installed
$ [ -x /bin/ls ] && echo 'installed' || echo 'not installed'
installed