ls с grep не работает внутри скрипта - PullRequest
0 голосов
/ 03 мая 2020

Я хочу, чтобы мой сценарий оболочки перечислял все файлы в каталоге, но отображал только те, которые начинаются, например, с определенной буквы. Все остальное, если работает нормально, и даже команда ls -t $1 | grep '^$2' | head -n 5 работает внутри оболочки. Но когда я запускаю сценарий, эта командная строка ничего не делает: (

if [ -d $1 ]
then echo "5 biggest files in $1:"
     ls -S $1 | head -n 5
     sleep 5
     echo "5 last modified files starting with '$2' in $1:"
     ls -t $1 | grep '^$2' | head -n 5
else
     if [ -a $1 ]
         then echo $1 is not a directory
         else echo $1 could not be found
     fi
fi

Я также пробовал разные варианты строки, и кажется, что комбинация ls и grep внутри сценария оболочки вызывает ошибку.

...