在函数name
下面,将使用函数myfunc
将当前工作目录名称设置为选项卡名称,但如果我将参数传递给name
,则会将选项卡名称设置为传递参数。<登记/>
例如
名字mytab [----&gt;这会将当前标签名称设置为mytab]
我的bashrc如下:
function myfunc {
echo -n -e "\033]0;${PWD##*/}\007"
#--- some other thing ---
}
function name {
if [ "$1" ]
then
unset PROMPT_COMMAND
echo -ne "\033]0;${*}\007"
else
unset PROMPT_COMMAND
export PROMPT_COMMAND="history -n; history -w; history -c; history -r; myfunc;$PROMPT_COMMAND"
fi
}
name
所以如果我执行rm $(ls -t | head -1)
我收到的错误为/bin/rm: cannot lstat `\033[0m\033[0mReadme.txt\033[0m': No such file or directory
答案 0 :(得分:1)
请使用以下命令
rm $(ls --color=no -t | head -1)
这会输出ls
没有颜色的结果,这样就可以显示Readme.txt
\033[0m\033[0mReadme.txt\033[0m
。
或者,您可以通过说ls
- &gt;来规避\ls
的别名。 \ls -t | head -1
。有关Why start a shell command with a backslash?的更多信息。