我傾向於在工作日期間訪問相同的目錄。在新的終端和PUSHD使用迪爾斯-v命令我可以保持一個列表文件中的展開〜在Bash
迪爾斯-v>最後lines.txt
我希望能夠重新讀取該文件線上的每個目錄。我有什麼是
cat ~/last-list.txt | while read line; do pushd $line; done
我遇到的問題是,「〜」不擴大,其結果是PUSHD失敗
-bash: pushd: ~/director-name: No such file or directory
反正是有力量「〜」是擴展到完整的路徑,還是更聰明的方式來完成上述?
感謝
注意你可以說'while read -r line;推動...;完成<〜/ last-list.txt而不是'cat |而...'。 – fedorqui
我最近完成的答案是http://stackoverflow.com/a/18742860/14122。也就是說,更簡單的答案並不是支持數據文件中的波浪擴展 - 這在非交互式應用中不是一個常見的功能。 –
順便說一句 - 目錄名稱可以有文字換行符。然後,從換行符分隔的文件中讀取它們並不是一個很好的做法。 (另外,它們可以以空格結尾,所以在讀取過程中需要清除'IFS',並且它們可以包含文字反斜槓,所以如果你需要將'-r'傳遞給讀命令想要涵蓋所有的角落案例)。 –