2つのファイルの名前を変更する[閉じる]

2つのファイルの名前を変更する[閉じる]

スクリプトを使用して両方のファイルの名前を変更したいと思います。

例えば

mv plugin-cfg.xml plugin-cfg2.xml  

そして

mv plugin-cfgbk.xml plugin-cfg.xml  

複数のディレクトリでこれを行う必要があります。

Q:各ディレクトリで2つではなく1つのコマンドのみを使用してこれを行うにはどうすればよいですか?

ベストアンサー1

bash-[41]$ touch myscript.sh
bash-[42]$ chmod +x myscript.sh
bash-[43]$ echo '#!/usr/bin/env bash' > myscript.sh
bash-[44]$ echo 'mv plugin-cfg.xml plugin-cfg2.xml' >> myscript.sh
bash-[45]$ echo 'mv plugin-cfgbk.xml plugin-cfg.xml' >> myscript.sh
bash-[46]$ ./myscript.sh 

明確にするために編集

上記は簡単な質問に対する簡単な答えです。もっと長い答えです。ディレクトリの作成はユーザー次第ですが、スクリプトを作成する必要があります。最も簡単な方法は、touchコマンドを使用して基本ファイルをumask作成しますchmod

シェルで実行:

myscript.sh chmod +x myscript.shをタッチします。

次にスクリプトを編集し、次の行を追加します。

#!/usr/bin/env bash 
mv plugin-cfg.xml plugin-cfg2.xml
mv plugin-cfgbk.xml plugin-cfg.xml

スクリプトを生成したら、シェルで実行します。

./myscript.sh

または

bash myscript.sh

スクリプトの最初の行はinterpreter directiveしばしばshebang行と呼ばれます。この行はシェルにスクリプトの実行方法を伝えます。この場合、シェル互換のインタプリタを実行して、まるでシェルで実行されたかのようにコマンドを実行する単純なシェルスクリプトです。

最も簡単に言えば、これはシェルスクリプトの中核です。シェルプロンプトで実行するのと同様に、コマンドバッチを実行します。スクリプトがより複雑になるにつれて、終了コードとコマンド出力の確認、前のif statementsテスト、またはタスクの結果に基づいて、次のタスクの動的決定を行うケースと使用など、いくつかの追加機能が追加されました。

おすすめ記事