У мене виникають проблеми з тим, щоб працювати з сценарієм оболонки. Я намагаюся динамічно генерувати команду find, засновану на введенні користувача, і я стикаюся з проблемою, що мої змінні в команді find укладаються в єдині лапки, як уже описано тут .
Отже, якщо я повторюю свою змінну, вони з'являться як, -iname "*.flv"
але, як тільки вони знаходяться в команді find, вони -iname "*.flv"
мають єдині лапки, і команда find не виконується.
Я намагався реалізувати відповіді, наведені в тій іншій нитці SO, але не можу це зрозуміти.
Будь-яка ідея, що там поганого?
Дякую!
if [[ ! "$medium" == "" ]]
then
needles=$needles' -iname "'*$medium*'"'
fi
echo $needles
#-iname "*.flv"
echo $path
#/Users/user/Movies/
find "$path" $needles -type f -exec basename {} \; | gshuf -n 1
# + find '/Users/user/Movies' -iname '"*dvd*"' -type f -exec basename '{}' ';'