如何创建一个 bash 脚本来检查程序是否已安装,如果没有,则安装它?
谢谢你的帮助。
这是我到目前为止的代码:
#/bin/bash
PS3="choose an option"
select opcion in "Installing_Youtube" "exit"
do
case $opcion in
"Installing_Youtube")
youtube-dl > /usr/bin
if [ $? -eq 127 ] ; then
echo "installing youtube"
apt-get update
apt-get install youtube-dl
mkdir Videos
else
echo "Youtube already installed"
fi
;;
"exit")
exit
Run Code Online (Sandbox Code Playgroud)
小智 13
你可以这样做:
dpkg -s <packagename> &> /dev/null
然后检查退出状态。仅当上述命令的退出状态等于0安装的软件包时。
所以:
#!/bin/bash
echo "enter your package name"
read name
dpkg -s $name &> /dev/null
if [ $? -ne 0 ]
then
echo "not installed"
sudo apt-get update
sudo apt-get install $name
else
echo "installed"
fi
Run Code Online (Sandbox Code Playgroud)
此行命令将检查该which程序的使用情况,并返回0是否已安装,1如果未安装:
which apache | grep -o apache > /dev/null && echo 0 || echo 1
Run Code Online (Sandbox Code Playgroud)
当然,您将在脚本中以这种方式使用它:
which "$1" | grep -o "$1" > /dev/null && echo "Installed!" || echo "Not Installed!"
Run Code Online (Sandbox Code Playgroud)
一个简单的用法是:
#!/usr/bin/env bash
set -e
function checker() {
which "$1" | grep -o "$1" > /dev/null && return 0 || return 1
}
if checker "$1" == 0 ; then echo "Installed"; else echo "Not Installed!"; fi
Run Code Online (Sandbox Code Playgroud)
注意几件事:
| 归档时间: |
|
| 查看次数: |
9685 次 |
| 最近记录: |