Я рекурсивно шукаю появу скриптів php, які викликаються з інших файлів, використовуючи наступний сценарій.
find . -exec grep -Hn $1 {} \; | grep -v ^Binary;
Працює відмінно! Тепер мені потрібні повернуті результати, щоб визначити наступну дію.
r=$(find . -exec grep -Hn $str {} \; | grep -v ^Binary;)
if [ -z "$r" ];
then
Do this
else
Do something else
fi
ПРОБЛЕМА: Самостійно скрипт пошуку повертає результати, кожен на новий рядок.
./path/to/file.php
./path/to/another_file.php
./path/to/third_file.php
Однак, при призначенні виводу змінної $ r символ нового рядка не зберігається, а результати друкуються на одному рядку, що ускладнює читання.
./path/to/file.php ./path/to/file.php ./path/to/third_file.php
Як зберегти символ нової рядки, призначаючи вивід у змінну?
echo $r
абоecho "$r"
? Якщо ви говоритеecho $r
, тоді нові рядки стають позбавленими на виході .