小编use*_*763的帖子

尝试将目录名称传递给函数时出现“是目录”错误

在我的 bash 脚本中,我使用 find 通过通配符获取文件夹名称:

for i in $(find ${directory} -mindepth 1 -type d -name ${wildcard});
do
  stuff=doStuff ${i}
done

doStuff() {
  echo ${1}
  return ${1}'/hello';
}
Run Code Online (Sandbox Code Playgroud)

问题是,当我这样做时,我收到以下错误(假设 ${i} 对应于“home/me/my_directory”):

line 111: '/home/me/my_directory': is a directory. 
Run Code Online (Sandbox Code Playgroud)

(第 111 行是带有 'doStuff' 的行)

我试过这样做,但无济于事:

for i in $(find ${directory} -mindepth 1 -type d -name ${wildcard});
do
  stuff=doStuff "${i}"
done
Run Code Online (Sandbox Code Playgroud)

显然这是因为程序正在尝试执行该目录,但我只是希望它作为一个我可以操作的字符串。

bash find shell-script

6
推荐指数
1
解决办法
7万
查看次数

标签 统计

bash ×1

find ×1

shell-script ×1