GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Kopieren und überschreiben Sie eine Datei im Shell-Skript

Verwenden Sie

cp -fr /source/file /destination

das sollte das Problem wahrscheinlich lösen.


Diese Frage wurde bereits diskutiert, aber Sie können ein kleines Skript wie dieses schreiben:

#!/bin/bash
if [ ! -d "$2" ]; then
  mkdir -p "$2"
fi
cp -R "$1" "$2"

Dieses Skript ein wenig erklären

  1. #!/bin/bash :weist Ihren Computer an, den bash zu verwenden Dolmetscher.

  2. if [ ! -d "$2" ]; then :Wenn die zweite angegebene Variable noch nicht existiert...

  3. mkdir -p "$2" :Dieses Verzeichnis erstellen, einschließlich aller im Pfad angegebenen übergeordneten Verzeichnisse.

    Ausführen von mkdir -p one/two/three wird machen:

    $ mkdir -p one/two/three
    $ tree one
    one/
    └── two
        └── three
    

    Wenn Sie -p nicht angeben -Tag erhalten Sie eine Fehlermeldung, wenn Verzeichnisse one sind und two existieren nicht:

    $ mkdir one/two/three
    mkdir: cannot create directory ‘one/two/three’: No such file or directory
    
  4. fi :Schließt das if Aussage.

  5. cp -R "$1" "$2" :kopiert Dateien aus der ersten angegebenen Variablen in das Verzeichnis der zweiten angegebenen Variablen.

    Wenn Sie also script.sh mars pluto ausgeführt haben , mars wäre die erste Variable ($1 ) und pluto wäre die zweite Variable ($2 ).

    Die -R Flag bedeutet, dass dies rekursiv geschieht, also cp Befehl wird alle durchlaufen die Dateien und Ordner aus Ihrer ersten Variablen und kopieren Sie sie in das Verzeichnis Ihrer zweiten Variablen.


Linux
  1. Formatieren Sie Datum und Uhrzeit für Linux-Shell-Skript oder -Variable

  2. Namenskonvention für Shell-Skript und Makefile

  3. Gemischtes Shell- und Python-Skript möglich?

  4. Variablenbereich für Bash-Shell-Skripte und Funktionen im Skript

  5. Kann eine .sh-Datei Malware sein?

So speichern Sie einen Linux-Befehl als Variable im Shell-Skript

Warum ist eine Variable in einer Subshell sichtbar?

Wie erstelle ich eine temporäre Datei im Shell-Skript?

So erstellen und führen Sie ein Shell-Skript in Ubuntu 22.04 aus

Nur verschieben, wenn die Datei in einem Shell-Skript vorhanden ist

Templating mit Linux in einem Shell-Skript?