Ich würde gerne wissen, wie ich schreiben kann, wenn Bedingungen innerhalb eines Bash-Skripts in einer einzelnen Zeile stehen.
Wie kann ich dies beispielsweise in eine einzelne Zeile schreiben und dann eine weitere Zeile wie diese in die nächste Zeile einfügen?
if [ -f "/usr/bin/wine" ]; then
export WINEARCH=win32
fi
Ich frage dies, weil ich einige Aliase in meiner .bashrc habe und auf mehreren Systemen dieselbe .bashrc (synchronisiert) habe, aber ich brauche nicht alle Aliase auf jedem System. Ich habe die meisten von ihnen in if-Anweisungen eingefügt, und jetzt funktioniert alles wunderbar, aber sie nehmen viel Platz ein, jeweils 3 Zeilen plus die leere Zeile zwischen ihnen (ich mag es, wenn sie leicht sichtbar sind).
Ich werde diese Technik auch für Umgebungsvariablen verwenden.
linux
command-line
bash
bashrc
Horațiu Mlendea
quelle
quelle
[ -f "/usr/bin/wine" ] && export WINEARCH=win32
Antworten:
Sie würden es als solches schreiben:
Beachten Sie, dass dies auch geschrieben werden kann (wie von @glennjackman vorgeschlagen):
quelle
Ich finde auch, dass ich einfach einen komplexen if-else-Befehl eingebe, die Eingabetaste drücke und nach der Ausführung einfach den Aufwärtspfeil drücke. Die Befehlszeile wiederholt natürlich den zuletzt eingegebenen Befehl, aber in diesem Fall wird alles nach Bedarf in einer Zeile zusammengefasst. Es ist ein betrügerischer Weg, aber es ist effektiv.
quelle