Я пытаюсь написать сценарий, который в какой-то момент должен проверить пользовательские привилегии нескольких папок. Пути хранятся в переменной, каждый путь в новой строке.
Пока у меня есть это:
output=$PATH
output=$(echo "$output" | tr ':' '\n' | sort )
arr=($(echo "$output"))
for i in "$arr"
do
echo "$i"
if ! [[ -x $i ]]; then
echo "You are missing execute Permission on
echo "$i"
fi
done
Вывод содержит несколько путей, в моем случае содержимое моей $PATH
.
В первой строке я пытаюсь преобразовать многострочную переменную в массив, а затем перебрать все элементы массива.
Когда я запускаю код, он работает только для первой записи, echo "$i"
отображает только /bin
перед выходом из цикла.
Так что, я думаю, я не преобразовал многострочную переменную в массив.