gpt4 book ai didi

linux - Bash 脚本 : cd No such file or directory when file exists

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:50:56 24 4
gpt4 key购买 nike

我的 bash 脚本被编写为转到当前目录中的每个子文件夹:

for d in */; 
do
target=${d%/}
cd "$target"
done

当我运行我的 bash 脚本时,我收到一个存在目录的 cd 错误:

++ for d in '*/'
++ target='Zelkova serrata'
++ cd 'Zelkova serrata'
./script7.sh: line 8: cd: Zelkova serrata: No such file or directory

然而,在终端命令行中,我可以在与脚本相同的目录中执行 cd 'Zelkova s​​errata' 并且一切正常。 bash 脚本的源目录是否可能与其所在的目录不同?

最佳答案

你正在通过相对路径循环,尝试包括绝对路径,例如:

#!/bin/bash

pwd=$PWD
for d in */;
do
target="$pwd/${d%/}"
cd "$target"
echo $PWD
done

关于linux - Bash 脚本 : cd No such file or directory when file exists,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45002520/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com