Ubuntu Bash/Shell Funktion mit Variable aufrufen?
Hier nochmal genauer erklärt:
Wenn ich einen langen Befehl ausführen möchte, aber keinen Bock habe, ihn jedes mal zu schreiben, kann ich ihn in eine Funktion schreiben. Das Problem ist aber, das der Befehl unterschiedliche Argumente und Variablen hat, die sich im Script immer mal wieder ändern. In Lua war es möglich, eine Funktion bspw so zu definieren:
function keineAhnung(var1,var2)
math.random(var1,var2)
end
Geht das auch in Bash/Shell so und wenn ja, rufe ich diese Funktion dann bspw. mit func 1 oder so auf?
2 Antworten
Argumente werden in Bash nicht im Funktionskopf definiert. Die kannst du so nutzen, wie bei einem Scriptaufruf:
printDas() {
echo $1
}
printDas "Hello World"
# Hello World
$1 ist dann das erste übergebene Argument, $2 das zweite, usw.
Das hier wäre noch lesenswert: https://openbook.rheinwerk-verlag.de/shell_programmierung/shell_008_002.htm
Ja, das geht. Siehe
https://wiki.ubuntuusers.de/Shell/Bash-Skripting-Guide_f%C3%BCr_Anf%C3%A4nger/
Funktioniert über $1 $2 usw.