我正在查看一些别名以快速保存当前目录以便稍后可以打开。Bash避免文件名解释
ALIAS cdo='pwd|sed 's/ /\ /g' > ~/.cdo'
AIIAS cdn='cd "$(cat ~/.cdo)"'
sed命令显然处理空格。
然而,我仍然有我不能修复必须涉及变量解释一个奇怪的问题。
[email protected]:~# cd Hello\ World/
[email protected]:~/Hello World# pwd|sed 's/ /\\ /g' > ~/.cdo
[email protected]:~/Hello World# cat ~/.cdo
/home/jk/Hello\ World
[email protected]:~/Hello World# cd ..
[email protected]:~# cd "$(cat ~/.cdo)"
bash: cd: /home/jk/Hello\ World: No such file or directory
见http://mywiki.wooledge.org/BashFAQ/050理解为什么这种行为正在发生的事情:引用变量替换(!这是用正确的事)不处理转义,也不应该。 –
这是更好的解决这个问题。['PUSHD,popd'(http://cli.learncodethehardway.org/book/cli-crash-coursech8.html)和'在Unix中的所有可用的口味命令dirs'。 – anubhava
退房acd_func.sh - 延长bash的定期存款,以便保持,显示和访问过的目录名的访问历史在http://geocities.com/h2428/petar/acd_func.htm – Tom