Archiv verlassen und diese Seite im Standarddesign anzeigen : BASH: programm installiert prüfen
Wie kann ich in nem bash-scrip prüfen ob ein gewisses programm isntalliert ist?
Folgendes hat nicht funktioniert:
if [ -e $(which vim)]; then
# ...
fi
DANKE für jede Hilfe!
Folgendes hat nicht funktioniert:
if [ -e $(which vim)]; then
# ...
fi
das kommt daher da -e überprüft ob eine datei existiert
als datei die er überprüfen soll gibts du aber die ausgabe von which an ....
entweder du schreibst es so
if [ -e /usr/bin/vim ]
oder du überprüfst den string den which zurückgibt
prog=vim
string=$(which $prog)
if [ $(which $prog|grep -q "which: no $prog in") ]
then
echo kein $prog installiert
else
echo $prog ist installiert in $(which $prog)
fi
oder so ähnlich
Hi panzi, Hi CYP,
prog=vim
string=$(which $prog)
if [ $(which $prog|grep -q "which: no $prog in") ]
then
echo kein $prog installiert
else
echo $prog ist installiert in $(which $prog)
fimachts nicht so kompliziert. Bei mir gibt which z.B. gar keine Fehlermeldung aus, wenn das Programm nicht vorhanden ist, daher wird das mit dem Parsen nicht zuverlässig sein. Aber 'which' gibt einen Return-Wert zurück, der inidziert ob der Aufruf erfolgreich war, also ein entsprechendes Programm gefunden wurde.
Dementsprechend mach folgendes
PRGPATH=`which <prog> 2>/dev/null`
[ $? -eq 1 ] && {
# hier Fehlerbehandlung rein -> Programm nicht gefunden
}
# Programm ist vorhanden, also kannste hier drauf aufbauenGruss,
phate
DANKE mit
if which vim > /dev/null; then
#...
fi
geht's!!
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.