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是我愚蠢的调试尝试。你的解决方案工作,你们是最好的! –