LINUX.ORG.RU

Как запустить шовый шелл, запускающий программу (-c) из директории с пробелами.


0

0

Имеется ввиду - как сделать такое: /bin/sh -c "/home/foo/A B C/myProga". Данный пример не проходит: /bin/sh: line 1: /home/foo/A: no such file or directory. У меня используется bash, но все это должно быть шелл-независимо. Я читал man, но что-то ничего вразумительного там не вычитал :( Подскажите, кто знает, плиз.

anonymous

Ответ на: комментарий от dilmah

2dilmah: извини, не понял. У меня и так там кавычки... Приведи здесь свою команду, если не трудно.

anonymous
()
Ответ на: комментарий от anonymous

скрипт печатает haha.

Так не работает:

$ bash -c a\ b/aaa.sh
bash: line 1: a: command not found

$ bash -c "a b/aaa.sh"
bash: line 1: a: command not found

А так работает:

$ bash -c "a\ b/aaa.sh"
haha

$ sh -c "a\ b/aaa.sh"
haha

Это в cygwin.

dilmah ★★★★★
()
Ответ на: комментарий от dilmah

так тоже работает:

$ sh -c "\"a b/aaa.sh\""
haha

Тут 2 раза эта строка разбирается. Сперва тем шеллом в котором ты пишешь, потом тем который запускаешь. Наружные кавычки для первого, внутренние для второго

dilmah ★★★★★
()
Ответ на: комментарий от anonymous

Hi again!
У меня тут творится совершенная мистика. Действительно, большая часть программ запускается. Но! Есть некоторый класс программ (могу выслать екзешник специалистам на экспертизу, 8 KB), не запускаются, шелл ведет себя как я описывал! Причем, если директория не содержит пробелов, все ОК. Но в чем тут может быть дело, я ума не приложу.... :((

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.