У меня проблема: мне нужно динамическое выражение, которое нужно передать команде ls.Генерация динамических команд BASH
Вот код я пробовал:
op="ext"
fileName="MDL_test_"
fileExt=".csv"
if [[ $op == "noext" ]] ; then
searchExp="*$fileName*"
else
searchExp="*$fileName*$fileExt"
fi
ls "$("./files/"$searchExp)"
Но когда я выполнить сценарий это то, что я получаю:
./ext_test.sh: line 15: ./files/MDL_test_30160410.csv.gz: Permission denied
ls: cannot access : No such file or directory
Я думаю, что я делаю что-то неправильно, но я не могу выяснить это ...
Что вы * на самом деле * пытаетесь достичь? Вы должны [не использовать 'ls' в скриптах] (http://mywiki.wooledge.org/ParsingLs) в первую очередь. – tripleee
@tripleee Абсолютно нет проблем с использованием ls в этом случае. – 123
В качестве заполнителя для реальной команды это нормально; но тогда «эхо» тоже будет работать, и у него будет меньше осложнений. – tripleee