Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > *NIX системы: Общие вопросы > Передать параметр для скрипта


Автор: xTr1m 8.4.2009, 10:30
Здравствуйте, вопрос простой, но ответа найти не могу. Хочу запустить скрипт и передать ему параметр, содержащий пробелы.
Пробовал по-разному:

Код

sh /usr/local/java/Max/run "имя раздела" "Без имени"
sh /usr/local/java/Max/run 'имя раздела' 'Без имени'


но оба варианта не прошли. первым параметром получаю либо "имя, либо 'имя. Как быть?

Автор: InvalidProperty 8.4.2009, 10:42
Если скрипт вида
Код

#! /bin/sh
echo $1
echo $2

то должно быть нормально, а если
Код

#! /bin/sh

cd $1

или вместо cd любая другая команда - тада понятно. Советую почитать секцию мана по экранированию. Там ясно сказано, что аргументы разделяются пробелами, которые можно экранировать символом \, либо писать выражение в двойных кавычках, т.е. тебе нужно написать что-то вроде
Код

#! /bin/sh

cd "$1"

обрати внимание на двойные кавычки

Автор: xTr1m 8.4.2009, 11:10
Спасибо.

Автор: InvalidProperty 8.4.2009, 11:13
обрасчайся  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)