Вот такая дурная у меня проблема: нужно сделать скрипт-обертку вокруг
приложения. Хочется, чтобы скрипт принимал параметры для этого
приложения и в неизменном виде передавал ему.
Но.
Я пишу так:
-----------runner.sh-----------
#!/bin/sh
echo "Starting the app [$@]..."
eval $@
echo "The app has exited"
-------------------------------
Вызываю так: ./runner.sh mv -f * /home.foo
Все бы хорошо, но bash раскрывает вайлдкарты, и в mv передается уже не
звездочка, а развернутый список файлов и директорий. В принципе, это
тоже не страшно, до тех пор, пока в этом списке нет имен файлов с
пробелами. Если есть файл с именем "My File", то в runner.sh придет
строка "My File", интерпретируемая как один параметр. Вот, ну а когда
эта строка отправляется собственно запускаемому приложению, то оно
уже принимает два параметра: "My" и "File" и, конечно, работает
неправильно.
Как же решить эту задачу? Я подозреваю, можно что-то замутить с xargs,
но как - плохо понимаю.
Помогите, пожалуйста, кто знает...