我可以访问几个远程帐户,我通过sshfs在$ HOME / SSHFS的子目录中安装。为了提醒我我没有使用本地文件,我已经设置$PROMPT_COMMAND了一个函数prmt_cmd,我设置了一个不同的$PS1if $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将一石二鸟取出。