这个答案让我cd -
可以快速切换到我在 Bash 中的上一个目录。它确实有一个主要问题:它打印它更改到的目录,浪费了我的屏幕空间,因为该目录然后在下一行的提示中重复。
我知道我可以做cd $OLDPWD
,在那个答案中也提到过,cd - >/dev/null
但打字要多得多。
在bash
手册页中它说:
... 或者如果 - 是第一个参数,并且目录更改成功,则将新工作目录的绝对路径名写入标准输出。
我怎样才能-
不成为第一个论点?通过使用任何cd
可选参数?有没有其他方法可以抑制回声或尽量减少打字,而无需在我使用的每台机器上定义函数/别名?
Ant*_*hon 17
cd
只考虑第一个参数,忽略所有其他参数。没有任何选项影响先前路径名的回声(也许文档-@
确实有这种效果,但在我的系统上这是一个无效的选项)。
如果您不想使用别名/函数,这可能会给您提供比 更少的字符来键入cd -
,或重定向到/dev/null
,我的建议是开始使用特殊的波浪号扩展bash
:
cd ~-
Run Code Online (Sandbox Code Playgroud)
从bash
手册页:
如果波浪号前缀是“~-”,则外壳变量 OLDPWD 的值(如果已设置)将被替换。
这似乎是另一个bash
创造了特殊意义的领域。波浪号扩展通常适用于 $DIRSTACK,由pushd
,popd
和操作/调查dirs
,它也可以用于其他命令 ( cp ~-/somefile .
) 并且如果您使用过,pushd
您可以使用~N
(其中 N 是推回的级别数)来获得这些目录(forcd
或其他命令)。
顺便说一句,如果您在多台机器上拥有帐户并假设您使用 ssh 从一个地方登录它们,您应该考虑添加到您的~/.bashrc
:
if [ -f ~/.bash_common ]; then
. ~/.bash_common
fi
Run Code Online (Sandbox Code Playgroud)
然后在您的工作机器上安装脚本,用于scp
“推送”bash_common
到每台机器。这样您就可以以最小的开销在多台机器上添加和共享通用功能。
归档时间: |
|
查看次数: |
5140 次 |
最近记录: |