3
我的第一個問題就是SO,所以如果沒有正確地做某件事,道歉!在一個Bash裏面的Cd功能
在互聯網上有很多關於在腳本中使用cd的問題,但我的問題是在我使用內置於我的.bashrc
的bash函數中的cd。它的任務是找到一個文件並轉到該文件的工作目錄。在找到多個文件的情況下,我只是轉到第一個文件。那就是:
fcd() {
cd $PWD
if [ -z "$1" ]; then
echo 'Specify a file name to find'
else
found_dir=$(find . -name $1 -type f -printf \"%h/\" -quit)
echo $found_dir
if [ -z "$found_dir" ]; then
echo "No file found. Directory was not changed"
else
cd $found_dir
fi
fi
}
然而,當我使用它,在目錄中找到,而是試圖cd $found_dir
結果的消息中:
cd: (directory_here): No such file or directory
我排除的路徑是錯誤的可能性 - 通過複製echo $found_dir
的輸出並將其粘貼到cd
前,目錄被成功更改。有任何想法嗎?
感謝,
的Jakub
哦,是的,CD $ PWD是我愚蠢的調試嘗試。你的解決方案工作,你們是最好的! –