Arrays 数组未读取所有值
我试图让这个数组工作,但它只读取第一个文件夹Arrays 数组未读取所有值,arrays,bash,directory,Arrays,Bash,Directory,我试图让这个数组工作,但它只读取第一个文件夹 SFA=(folder1 folder2) 以及守则: for folders in "${SFA[@]}" do echo /media/$SFA done 但它似乎只通过一个文件夹(tv1)迭代了2次。我看不出代码有任何错误…您可以这样做: 声明SFA=(folder1 folder2) 对于“${SFA[@]}”中的文件夹;执行echo/media/$文件夹;完成 输出结果如下: :~$ /媒体/文件夹1 /媒体/文件夹2 我发现了自己的
SFA=(folder1 folder2)
以及守则:
for folders in "${SFA[@]}"
do
echo /media/$SFA
done
但它似乎只通过一个文件夹(tv1)迭代了2次。我看不出代码有任何错误…您可以这样做:
声明SFA=(folder1 folder2)
对于“${SFA[@]}”中的文件夹;执行echo/media/$文件夹;完成
输出结果如下:
:~$
/媒体/文件夹1
/媒体/文件夹2
我发现了自己的错误。。。
代码现在看起来像这样,并按预期工作
FOLDERARRAY=(tv1 tv2)
### Check for FOLDERS in FOLDERARRAY
#
for FOLDERS in "${FOLDERARRAY[@]}"
do
# echo /media/$SFA
if [ ! -d /media/$FOLDERS ]; then
echo /media/$FOLDERS; status="Couldn't find /media/$FOLDERS"
# exit 0
else
echo "found folder: /media/$FOLDERS"
find /media/${FOLDERARRAY} -mtime -7 -type f -size +2048 -exec
basename {} \;| sort |uniq >> /tmp/v$DATE-weekly.txt;
fi
那个代码是正确的。您必须提供一些证据,或者您的实际代码如果您要按名称引用文件夹(
tv1
),请在示例中使用它,而不是虚构的名称folder1
和folder2
。此外,您想要的是/media/$folders
,而不是/media/$SFA
(相当于/media/${SFA[0]})
。您的迭代很好,只是没有使用正确的变量。Thanx伙计们,我使用了错误的变量。我想我太累了。但现在它可以工作了。