如何再次寻址我刚刚指定的路径/文件?

如何再次寻址我刚刚指定的路径/文件?

说我要开始写作

sudo cp /etc/var/more/evenMORE/fileABC

作为复制的目标,我想定义同一文件夹,只是文件名不同(无论是“randomNAME”等新名称还是文件“fileABC-backup01”的迭代都无关紧要)。如何重用输入文件,以便不必再次将其写出?这可能吗?

答案1

sudo cp /etc/var/more/evenMORE/file{ABC,DEF}将复制fileABCfileDEF同一文件夹中。
一般情况下cp /xyz/{file1,file2}会复制/xyz/file1/xyz/file2.基本上,将任何常见的内容放在 之外{},并用 , 分隔源名称和目标名称{}

答案2

如果您要一遍又一遍地使用这个原始文件名,我建议这样使用:

 OrigFile=/etc/var/more/evenMORE/fileABC
 sudo cp ${OrigFile} ${OrigFile}.bak
 sudo cp ${OrigFile} SomeRandomFile.txt

每次引用这个${OrigFile}变量名时,它都会去获取这个文件。如果您希望少输入一些内容,请将其缩短。

但是,如果您正在寻找 shell 引用它的方式,例如作为$0命令和$1第一个参数,则没有。

答案3

如果您愿意提前计划一下,您可以将大部分路径放入 shell 变量中。

a="/etc/var/more/evenMORE"
sudo cp "$a/fileABC" "$a/randomNAME"

答案4

您可以这样只用一行来完成:

sourcefile="/dir/filename"; sudo cp "$sourcefile" `dirname "$sourcefile"`/"new file name"

相关内容