在单行 bash 命令中多次使用参数

GJ.*_*GJ. 2 bash shell

我偶尔需要运行一个命令,例如:

mv "very-long-file-name.x" "very-long-file-name.y"
Run Code Online (Sandbox Code Playgroud)

我想在不重复两次很长的文件名的情况下实现这一点......

我知道如何通过将“非常长的文件名”一次传递给一个 bash 脚本,然后该脚本将使用 $1 来做到这一点......但是我怎么能在没有脚本的情况下做到这一点?

Dan*_*eck 6

利用支撑扩展

mv very-long-file-name.{x,y}
Run Code Online (Sandbox Code Playgroud)

不要引用该{x,y}部分。不要在任何大括号或逗号之前或之后添加空格。

扩展后,这将导致:

mv very-long-file-name.x very-long-file-name.y
Run Code Online (Sandbox Code Playgroud)