小编J. *_*zyk的帖子

Bash函数中的Cd

我关于SO的第一个问题,如果不做正确的事情就道歉!

关于在脚本中使用cd,互联网上有很多问题,但我的问题是在我放入的bash函数中使用cd .bashrc.它的任务是找到一个文件并转到该文件的工作目录.如果找到多个文件,我只是转到第一个.这里是:

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
}
Run Code Online (Sandbox Code Playgroud)

但是,当我使用它时,找到目录,但尝试cd $found_dir导致消息:

cd: (directory_here): No such file or directory
Run Code Online (Sandbox Code Playgroud)

我已经排除了路径错误的可能性 - 通过复制输出echo $found_dir并将其粘贴cd到目录前面会成功更改.有任何想法吗?

谢谢,

的Jakub

linux bash shell cd function

3
推荐指数
1
解决办法
917
查看次数

标签 统计

bash ×1

cd ×1

function ×1

linux ×1

shell ×1