Трудность выполнения сценария оболочки со ссылкой на каталог - PullRequest
1 голос
/ 18 октября 2010

У меня есть простой скрипт

...
dir=`pwd`
echo $dir

cd ./selenium-grid-1.0.8/

CMD="ant -Dport=$1 -Dhost=$2 -DhubURL=http://172.16.1.137:4444 -Denvironment="$3"-DseleniumArgs="-firefoxProfileTemplate C:/software/rc_user_ffprofile -multiWindow" launch-remote-control"
echo $CMD
$CMD 2>&1

#End

Всякий раз, когда я запускаю эту команду, я получаю: ./register_rc.sh: строка 16: C: / software / rc_user_ffprofile: каталог

этот каталог должен быть аргументом опции -firefoxProfileTemplate. Как мне включить это в эту строку, не ставя в тупик ??

помощь

Thnx

Ответы [ 3 ]

1 голос
/ 18 октября 2010

Я считаю, что ваша команда должна читать:

CMD="ant -Dport=$1 -Dhost=$2 -DhubURL=http://172.16.1.137:4444 -Denvironment=\"$3\"-DseleniumArgs=\"-firefoxProfileTemplate C:/software/rc_user_ffprofile -multiWindow\" launch-remote-control"

Обратная косая черта используется для "кавычек" кавычек.

1 голос
/ 19 октября 2010

Ответы здесь, говорящие, чтобы избежать ваших цитат, неверны. Это передаст эти цитаты непосредственно муравью, я сомневаюсь, что это то, что вы хотите.

В чем причина сохранения команды в переменной? Это очень плохая идея. Почему вы не можете просто написать эту команду как есть? Если вы хотите добиться модульности или повторного использования кода, определите функцию.

Если вы хотите отобразить выполненные команды, используйте set -x.

0 голосов
/ 18 октября 2010

Похоже, вы смешиваете свои цитаты.Посмотрите на подсветку синтаксиса, которую StackOverflow сделал для вас.

Я рекомендую генерировать переменную CMD в несколько шагов и убедитесь, что вы \ -сохраняете свои кавычки.

...