在我的.bash_profile中,我有
cd(){ builtin cd $1 ls -F }
要将cd更改为cd ls -F。这似乎在大多数情况下都有效,但是当我想将CD刻录到多字目录时,它将无法工作。它认为这两个词是两个单独的输入。为了解决这个问题,我还尝试了:
cd "word1 word2"
cd "word1\ word2"
dir=$"word1 word2"
cd "$dir"
而且这些都不起作用。我需要修改cd功能吗?还是我只是忽略了一个聪明的输入法?
(我认为)这是您想要的:
cd() {
builtin cd "${1-$(echo ~)}" && ls -F
}
请注意以下几点:
用引号将该变量引起来,这样cd 'some dir with spaces'
就可以了。
有一&&
间cd
和ls
,因此,如果前者失败,后者将不会发生。(它们可能只是在不同的行上,但是ls
即使cd
失败了也将运行,并且cd
关于失败的消息将在ls
输出中“丢失” 。(不确定在同一行上使用命令应该如何工作) ))
$1
默认为,~
以便cd
按预期工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句