具有固定第二个参数的命令的 .bashrc 别名

cha*_*rsi 4 bash

我想为移动命令创建一个别名 -

trash='mv <some files> /home/$USER/.local/share/Trash/files'

我如何使这项工作?

我希望目的地始终相同。但我希望能够传递要移动的文件。

Leo*_*Mew 10

使用函数而不是别名,定义在 .bashrc

nano ~/.bashrc 

# put inside .bashrc:
trash() { 
  for item in "$@" ; do
    echo "Trashing: $item" 
    mv "$item" /home/$USER/.local/share/Trash/files 
  done
}
Run Code Online (Sandbox Code Playgroud)

然后在 shell 提示符下,您可以使用:

$ trash file1 file2
Run Code Online (Sandbox Code Playgroud)

  • 你不需要循环:`trash() { mv "$@" destination; }` (5认同)

gle*_*man 5

您只能参数附加到别名。幸运的是,mv允许您执行此操作,并带有-t选项

alias trash='mv -t ~/.local/share/Trash/files'
Run Code Online (Sandbox Code Playgroud)