如何检查程序是否已在linux上成功安装?
我有一个.bin文件,其中包含很多脚本,可以在Ubuntu上安装程序,也可以在通过终端安装后安装如何检查程序是否已在linux上成功安装?,linux,ubuntu,bin,Linux,Ubuntu,Bin,我有一个.bin文件,其中包含很多脚本,可以在Ubuntu上安装程序,也可以在通过终端安装后安装 sudo chmod u+x myprogram.bin ./myprogram 我在/usr/bin/myprogram中有它 我需要写一个程序,检查系统是否正确安装了一些程序。我该怎么做 以下任何一项都应该有效 $ command -v foo >/dev/null 2>&1 && echo "installed" || echo "not installe
sudo chmod u+x myprogram.bin
./myprogram
我在/usr/bin/myprogram中有它
我需要写一个程序,检查系统是否正确安装了一些程序。我该怎么做 以下任何一项都应该有效
$ 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
您需要定义“安装成功”对您的特定程序的确切含义(某些程序需要比其可执行文件更高的可用性,例如字体或配置文件)。顺便说一句,
/usr/bin/myprogram
可能会接受某些--help
和/或--version
程序选项