Вверху сценария (после Shebang) добавьте строку:
exec >/path/to/log.txt
для перенаправления STDOUT сценария в /path/to/log.txt
.
Если вы хотите перенаправить и STDOUT, и STDERR:
exec >/path/to/log.txt 2>&1
Или просто STDERR:
exec 2>/path/to/log.txt
Теперь, независимо от того, находится ли скрипт на переднем или заднем плане, файл журнала будет иметь STDOUT (и / или STDERR).
Возможно, раньше мои мысли блуждали где-то в другом месте, теперь я использовал ниже вложенный цикл while, и он работает:
while read -r n
do
if [[ "$3" == "$n" ]]
then
while read -r name || [[ -n "$name" ]]
do
if [[ "$1" == "some_string" ]] && [[ "$name" == "$2" ]] || [[ "$2" == "ALL" ]]
then
mkdir -p /home/ce/pwde/${name}
fi
done < /home/file_name
fi
done < /home/dir/n.txt