1-й раз вам нужно #!/ bin / bash в качестве первой строки в вашем скрипте.
Тогда '# $' не имеет значения в пантеоне параметров оболочки.Вы ищете «#» в конце строки?(Все в порядке).Но если вы имели в виду «$ #», но тогда «$ #» - это параметр, который означает «количество аргументов в командной строке»
Как правило, для передачи списка файлов в сценарий, для которого необходимо выполнить действие, потребуетсябыть достигнуто с дальнейшей оберткой.Таким образом, простое, общее решение проблемы, которую вы ставите, может быть:
$cat scriptname
#!/bin/bash
while read fileTargs ; do
grep -iv "${@}" ${fileTargs} # (search targets).
done
называется
ls | scriptname srchTargets
Надеюсь, это поможет.