我一直在尝试实施博客文章“All of bash history revisited”中描述的功能。基本上,脚本允许您执行的操作是永久保留所有bash历史记录并保持多个会话。
有人善意地制作了所有代码easily accessible on Github。
但是每当我使用带空格的目录时:
cd ~/Desktop/
mkdir "dir with spaces"
cd dir\ with\ spaces/
下次登录时出现以下错误:
-bash: pushd: /Users/jack/Desktop/dir: No such file or directory
-bash: pushd: with: No such file or directory
-bash: pushd: spaces: No such file or directory
我理解的唯一参考似乎没有引起问题:
# Now change to the new dir and add to the top of the stack
pushd "${the_new_dir}" > /dev/null
我希望一些bash脚本专家可以指出代码中的错误,以便我可以修补它。
答案 0 :(得分:4)
这是罪魁祸首:
for x in `hd 20` `pwd`; do cd_func $x ; done
替换为:
( hd 20; pwd ) | while read x; do cd_func "$x"; done
在github repo发出拉取请求。