我可以访问几个远程帐户,我通过sshfs在$ HOME / SSHFS的子目录中安装。为了提醒我我没有使用本地文件,我已经设置$PROMPT_COMMAND
了一个函数prmt_cmd
,我设置了一个不同的$PS1
if $PWD
匹配$HOME/SSHFS*
。现在,要添加一些额外的保护,我想补充的-i
自动标记的rm
,mv
而且cp
每当我在一个子目录就是命令$HOME/SSHFS
。所以我最终得到了类似的东西
function prmt_cmd () {
if [[ $PWD == $HOME/SSHFS* ]] ; then
PS1=some prompt
alias rm='rm -I'
alias mv='mv -i'
alias cp='cp -i'
else
# Reset the PS1, remove aliases
PS1=my default prompt
unalias rm mv cp
fi
}
(在实际定义中,我做了一些其他的事情,但这是无关紧要的。)但是,unalias
当别名不存在时抱怨,这意味着当我不在SSHFS / *时,我会在每个提示之前收到三条错误消息。unalias
好像没有开关来沉默它。所以我的问题是:有没有更好的方法来实现我想要的?也许我只是做它(完全)错了。
如果它是相关的,$BASH_VERSION = 4.1.5(1)-release
在Ubuntu 10.10上。
&>/dev/null
将一石二鸟取出。