Schauen Sie sich zunächst dieses Skript an:
touch test.txt
touch loc
echo "result1" > loc
loc >> test.txt
echo "result2" > loc
loc >> test.txt
rm loc
Ich erstelle zwei Dateien. Eine davon loc
ist temporär und ich versuche, darin zu schreiben, erhalte jedoch die folgende Fehlermeldung:
5: script.sh: loc: not found
8: script.sh: loc: not found
Wie kann ich es zum Laufen bringen?
Antwort1
loc
ist kein Befehl. Sie müssen cat loc >> test.txt
es an text.txt anhängen. Andernfalls können Sie die temporäre Datei auch ganz vermeiden:
echo "result1" >> test.txt
echo "result2" >> test.txt
Beachten Sie, touch test.txt
scheint auch nutzlos.
Antwort2
Dadurch wird die Datei test.txt erstellt.
echo "result1" | tee -a test.txt
echo "result2" | tee -a test.txt
ODER verwenden Sie dies in 1-Schritt
echo "result1" && echo "result2" | tee -a test.txt
Antwort3
Der Umleitungsoperator erwartet eine Zeichenfolge oder einen Zeichenstrom als Eingabeseite und eine Datei auf der anderen Seite. Sie müssen also cat
den Befehl verwenden, um zuerst die Datei zu lesen und dann die Zeichen des Zeichenstroms in die Ausgabedatei umzuleiten.
touch test.txt
touch loc
echo "result1" > loc
cat loc >> test.txt
echo "result2" > loc
cat loc >> test.txt
rm loc