我经常这样做:
$ pwd /a/long/long/way/from/anywhere $ cd # oops - meant to tab-complete something /home/$USER
可以cd
禁用默认为 $HOME 吗?
答案1
我能想到的两个选择:
你可以将不带
alias
参数的默认设置写成cd
你想要的任何值。这和使用cdargs
或之类的实用程序类似apparix
。就我个人而言,我一直在使用这cd
更换了相当长一段时间。补丁
bash
会有不同的行为(bash-4.2/builtins/cd.def
)。但不确定更改此默认设置是否会破坏其他功能。
228 if (list == 0)
229 {
230 /* `cd' without arguments is equivalent to `cd $HOME' */
231 dirname = get_string_value ("HOME");
232
233 if (dirname == 0)
234 {
235 builtin_error (_("HOME not set"));
236 return (EXECUTION_FAILURE);
237 }
238 lflag = 0;
239 }
答案2
在 bash 中,如果你不小心更改到了错误的目录,你可以使用以下命令返回到上一个目录:
cd $OLDPWD
答案3
这个别名似乎可以做到这一点:
别名 cd='HOME= cd'
我不思考它有任何危险的副作用......