【发布时间】:2021-12-08 04:34:13
【问题描述】:
我有一个 bash,它读取文件夹名称列表(所有数字不是字母)作为输入,并尝试找到每个文件夹的位置。 Find 命令根本不会向我返回任何内容。我不知道为什么。而如果我在不使用变量的情况下输入原始值,它会起作用。
代码:
#!/bin/bash
filename='bat.txt'
n=1
while read line;
do
lien=$(find ./ -type d -name "$line")
# for read each line
echo "line no. $n : $line"
n=$((n+1))
done < $filename
Bat.txt 示例:
19223
12233
34434
34434
【问题讨论】:
-
请用文字替换所有图片。
-
完成!您对此有解决方案吗?
-
有一个错字:你赋值给
lien,然后访问$line。 -
你的代码和图片上的不一样。在图片上,您错误地转义了
$并将*放在引号之间,使find尝试查找字面上命名为*$line*的目录。 -
即使我这样做,也不会改变结果。 lien=$(find ./ -type d -name "$line") # 读取每一行 echo "line no. $n : $lien"