Ich habe versucht, den Code wie folgt auszuführen und es wird mir Fehler: Befehl nicht für die Leitung 4,5,6 gefunden. Ich habe versucht, ähnliche Antworten für die Fragen zu finden, aber ich weiß nicht, wie ich die Version des Betriebssystems des Clusters herausfinden soll, auf dem dieses Skript läuft. Ich bin nicht sicher, ob es ein Problem mit der ersten Linie oder der Linie 4,5,6 gibt. Könnte jemand helfen?Bash-Skript: Befehl nicht gefunden
#!/bin/bash
for i in 02 03 04 05 06 07 09 10 11 12 13 14 15 16 17 20 21 22 23 24 25; do
x=grep $i sphnum.txt |cut -c5-6
y=grep $i sphnum.txt |cut -c8-9
z=echo $i'.ala.'$x'.sph '$i'.ala.'$y'.sph'
echo $z
done
Die letzte Variable z dient dazu, diese Zeichenfolgen zu einer Zeichenfolge konkav zu machen. – SIMONSON92
Ersetzen Sie 'x = grep $ i spnum.txt | cut -c5-6' durch' x = $ (grep $ i spnum.txt | cut -c5-6) '. Ähnlich für die anderen zwei Zeilen. – yellowantphil
Sie versuchen, einen Befehl namens (der Wert von) '$ i' auszuführen. Das '$ (...)' bewirkt, dass Bash einen Unterbefehl ausführt. Siehe den Abschnitt "Command Substitution" auf der bash man-Seite. – yellowantphil