Я получил совет для do not parse ls, как описывает на этом сайте: Don't parse ls
.
Я искал DAILY файлов в моем каталоге, так это то, что я сделал тогда:Parsing ls, не рекомендуется
for f in *.DA*; do
[[ -e $f ]] || continue
for file in $f; do
echo "The file that you are working on: "$file
archiveContent=$(sed -n -e 1p $file)
echo $archiveContent
done
done
Хорошо, что хорошо работает, у меня есть два файла A.DAILY и B.DAILY, с обоих архивами, я могу получить то, что внутри него, но когда я немного изменил цикл, он не повторяется со всеми файлами с расширением .DAILY в моем каталоге.
for f in *.DA*; do
[[ -e $f ]] || continue
for file in $f; do
echo "The file that you are working on: "$file
archiveContent=$(sed -n -e 1p $file)
echo $archiveContent
COMPRESS $archiveContent;
done
done
, когда я назвал функцию внутри цикла, цикл просто делает для первого файла, а не на второй.
'$ f' - это одно имя файла, поэтому внутренний цикл имеет только одну итерацию, где' $ file' имеет то же значение, что и '$ f'. – chepner
Что вы предлагаете делать? Я думал, что цикл, итерация по файлам, потому что, без comumand COMPRESS $ archiveContent, это показывает мне: 'Файл, над которым вы работаете: A.DAILY содержание A.DAILY Файл что вы работаете над: B.DAILY содержание B.DAILY' –
Капля внутреннего контура? Это не служит никакой цели. – chepner