我正在查看一些別名以快速保存當前目錄以便稍後可以打開。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