Shell-Skript: Lesen Sie die Zeile in der Datei
Ich habe eine Datei paths.txt:
/my/path/Origin/.:your/path/Destiny/.
/my/path/Origin2/.:your/path/Destiny2/.
/...
/...
Ich brauche ein Skript CopyPaste.sh mit Datei paths.txt kopieren Sie alle Dateien in OriginX zu DestinyX
Sowas:
#!/bin/sh
while read line
do
var= $line | cut --d=":" -f1
car= $line | cut --d=":" -f2
cp -r var car
done < "paths.txt"
Die syntax ist
var=$(command)
, während Sie tun var = command
, die interpretiert wird als "ausführen var
Befehl mit =
und command
Parameter".InformationsquelleAutor user3228279 | 2014-01-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie übersetzen :
tr
command & anwendencp
Befehl in der gleichen gehen!was ist der Fehler Ihr sehen?
wenn seine backtick Verwandte err für nicht-ksh-shells, können Sie versuchen, mit cp $(echo $line | tr ':' ' ')
danke! es deswegen war.
gut, dass es funktionierte!!
InformationsquelleAutor
Müssen Sie Kommando-substitution to get Befehl in eine shell-variable:
Wenn Ihr Skript kann vereinfacht mit
read -d
:Ja, in der Tat, danke für die Erinnerung. Es jetzt behoben.
InformationsquelleAutor anubhava