有没有一个好方法将命令别名cp file1 file2
为cp -i file1 file2
?
答案1
您应该在启动脚本中添加一个别名:
alias cp='cp -i'
你可以直接把它放进去~/.bashrc
,但我把它放在我的~/.bashrc
:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
我~/.bash_aliases
有:
alias realias='source ~/.bash_aliases'
alias cp='cp -i'
alias rm='rm -i'
当我向该文件添加/更改内容时,我会执行此操作realias
(这不会从您出于该用途而取出的正在运行的 shell 中删除别名unalias
)。
如果您这样做man bash
并搜索别名,您将找不到示例,但:
For almost every purpose, aliases are superseded by shell functions
The (`bash`) shell function alternative for the above alias is:
cp () { command cp -i "$@" ; }
shell 函数更强大,但对于简单的事情,别名就足够了。
我仍然倾向于使用它们。
答案2
如果您使用的是 bash,Anthon 和 michas 的答案就可以正常工作。但是,如果您使用 csh 或 tcsh,则添加命令将为
alias cp "cp -i"
然后您将其添加到您的.cshrc
文件中。
答案3
alias cp="cp -i"
将此行放入 shell 启动脚本中。 (可能~/.bashrc)