Ich bin gespannt, ob Sie Zeilen aus einer Funktion in bash ziehen können. Sagen, ich habe diese Funktion:Bash ziehen Elemente aus einer Funktion
error_fn()
{
echo "You need at least 2 command line arguments!"
echo "Program existing because you said you had a typo, please try agian"
echo "Sorry, one or both of the files that you entered was a directory, please try agian"
echo "Sorry, one or both files were not located, please try again"
}
Gibt es eine Möglichkeit, die erste Echo-Anweisung zu ziehen (echo „Sie müssen mindestens 2 Kommandozeilenargumente!“) Aus diesem Array?
Ich habe versucht mit:
error_fn $1
error_fn ("$1")
aber das alles scheint nur Ausgabe der Echo-Anweisungen in der Funktion. Irgendwelche Ideen?
'error_fn | Kopf -n 1'? – Patrick
Dies ist in der Tat die erste, aber nur die erste. Aber später in meinem Code möchte ich das zweite Element nennen und von dem, was ich weiß, begrenzt der Kopf, was Sie sehen können. Wenn ich also head -n 2 verwende, werden beide Zeilen angezeigt und nicht nur die zweite Zeile. Piping to Grep funktioniert auch, aber es ist nicht sehr konsistent. –
Sie können 'sed '2! D'', 'sed' 3! D'' etc in diesem Fall verwenden .. aber Sie können wahrscheinlich ein Argument an die Funktion übergeben und verwenden [Groß-/Kleinschreibung] (http: // stackoverflow. com/documentation/bash/420/control-Strukturen/9948/switch-Anweisung mit dem Fall # t = 201608030436307623055) – Sundeep