此代码解析一个文件夹,如果该文件夹包含多个子文件夹/文件,则它们在一行上连接,其间有空格(subfolder1子文件夹2子文件夹3 / yo)而不是(subfolder1 / yo)换行符(子文件夹2 / yo)等。我每行需要一个子文件夹(如果目录中只有一个子文件夹,它会按预期工作)。
有什么建议吗?
FolderName=/yo
SUBDOMAINS=/data
for sourceX in "$SUBDOMAINS/*"
do
echo $sourceX $FolderName
done
答案 0 :(得分:3)
"$SUBDOMAINS/*"
中的Glob char不得引用:
"$SUBDOMAINS"/*
更好地引用你的论点:
echo "$sourceX" "$FolderName"
答案 1 :(得分:1)
删除globbing *周围的引号。你想要变量周围的引号,但不是在glob周围。您告诉shell将glob扩展的文件列表转换为一个字符串,然后循环遍历该字符串并将其打印出来。
您可能还希望回显线中的变量引用(尽管这与此问题无关)。