Автор Гілка: Bash заколупав  (Прочитано 1916 раз)

Відсутній Сергій Лисовенко

  • Літератор
  • ******
  • дописів: 1489
  • Карма: +0/-0
Bash заколупав
« : 2007-09-17 16:04:19 »
Якогось дідька $* параметри погано передаються викликаним зі скрипту програмам:
якщо, пнапр., пердати викликаній програмі $1 ,який містить в собі містить ім'я файлу з прогалинами - програми отримає розколоте по прогалинах ім'я.
Заммість того, щоб просто скористатись баш скриптом - був змушений катати пітонівського скрипта (зате, запрацювало).
Як добитись, щоб argv[1] скрипту перетворився на argv[1] викликаної програми  без коників при роздовбаних іменах?
Якщо Лінукс написали студенти - нехай вони під ним і навчаються.

Відсутній Михайло Даниленко

  • Адміністратор ЩОДО
  • Літератор
  • *****
  • дописів: 1262
  • Карма: +0/-0
  • [Debian Stretch]
Re: Bash заколупав
« Відповідей #1 : 2007-09-17 16:52:41 »
Лапайте його.
Тобто
someprogram "${1}"
або
otherprogram "$@"
Ну, й, звісно, скрипт теж має отримати свої аргументи в лапках чи з поескейпленими пропусками.

Відсутній Сергій Лисовенко

  • Літератор
  • ******
  • дописів: 1489
  • Карма: +0/-0
Re: Bash заколупав
« Відповідей #2 : 2007-09-19 13:05:28 »
Ну, й, звісно, скрипт теж має отримати свої аргументи в лапках чи з поескейпленими пропусками.
Само собою ясно - ну не можу ж я бути повним чайником після 6 років роботи з Linux  ;)

« Змінено: 2007-09-19 13:10:35 від serg_ik »
Якщо Лінукс написали студенти - нехай вони під ним і навчаються.