GNU/Linux >> Linux の 問題 >  >> Linux

シェルスクリプトでファイルをコピーして上書きする

使用

cp -fr /source/file /destination

これでおそらく問題は解決するはずです。


この質問は既に議論されていますが、次のような小さなスクリプトを書くことができます:

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

このスクリプトを少し説明

<オール>
  • #!/bin/bash :コンピュータに bash を使用するよう指示します 通訳。

  • if [ ! -d "$2" ]; then :指定した 2 番目の変数がまだ存在しない場合...

  • mkdir -p "$2" :パスで指定された親ディレクトリを含めて、そのディレクトリを作成します。

    mkdir -p one/two/three を実行中 作成します:

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

    -p を指定しない場合 タグを使用すると、ディレクトリ one の場合にエラーが発生します そして two 存在しない:

    $ mkdir one/two/three
    mkdir: cannot create directory ‘one/two/three’: No such file or directory
    
  • fi :if を閉じます

  • cp -R "$1" "$2" :指定した最初の変数のファイルを、指定した 2 番目の変数のディレクトリにコピーします。

    script.sh mars pluto を実行した場合 、 mars 最初の変数 ($1 ) と pluto 2 番目の変数 ($2 ).

    -R フラグは、これを再帰的に行うことを意味するため、cp コマンドは all を通過します 最初の変数からファイルとフォルダーを取得し、それらを 2 番目の変数のディレクトリにコピーします。


  • Linux
    1. 独自のIPアドレスを取得し、シェルスクリプトの変数に保存する方法は?

    2. サブシェルで変数が表示されるのはなぜですか?

    3. シェル変数の拡張とグロブとスプリットの影響?

    1. シェルスクリプトで一時ファイルを作成するにはどうすればよいですか?

    2. Bash を使用してファイルを検索してコピーする

    3. シェル - 変数の内容をファイルに書き込む

    1. 最も古いファイルを移動するためのシェルスクリプト?

    2. ファイルがシェルスクリプトに存在する場合にのみ移動する

    3. .sh ファイルがマルウェアになる可能性はありますか?