重命名两个文件

重命名两个文件

我想使用脚本重命名两个文件。

例如

mv plugin-cfg.xml plugin-cfg2.xml  

mv plugin-cfgbk.xml plugin-cfg.xml  

我需要在多个目录中执行此操作。

问题:如何在每个目录中仅使用一个命令而不是两个命令来完成此操作?

答案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使其可执行。

在外壳中运行:

touch myscript.sh chmod +x myscript.sh

然后编辑脚本并添加以下行:

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

创建脚本后,在 shell 中运行它:

./myscript.sh

或者

bash myscript.sh

脚本的第一行是interpreter directive,通常称为该shebang行。这一行告诉 shell 如何执行脚本。在本例中,这是一个简单的 shell 脚本,它运行与 shell 兼容的解释器来简单地运行命令,就像从 shell 执行命令一样。

从最简单的角度来看,这就是 shell 脚本的要点。完全按照从 shell 提示符运行的方式运行一批命令。随着脚本变得更加复杂,添加了一些附加内容,例如检查退出代码和命令输出,使用if statements和案例根据先前测试或操作的结果对下一个操作做出动态决策。

相关内容