LINUX.ORG.RU
ФорумAdmin

bash scripting


0

0

yura@pc:~$ start_cmd=«sudo -u yura sh -c \„cd /home/yura && ls -la\“»
yura@pc:~$ $start_cmd
/home/yura: 1: Syntax error: Unterminated quoted string


подскажите плз как пофиксить


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

Не, так низя. Мона так:

start_cmd="cd /home/yura && sudo -u yura ls -la ./"[/bash]
helios ★★★★★
()

так не делают? делают так

start_cmd(){\
      sudo -u yura sh -c "cd /home/yura && ls -la \
}

start_cmd

testuser123
()

alias start_cmd='sudo -u yura sh -c «cd /home/yura && ls -la»'
start_cmd

sdio ★★★★★
()

start_cmd=«sudo -u yura sh -c \„cd /home/yura && ls -la\“»

Поменять на

start_cmd=`sudo -u yura sh -c \"cd /home/yura && ls -la\"` 

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

start_cmd=`sudo -u yura sh -c \«cd /home/yura && ls -la\»`

В таком случае шелл попытается запустить на исполнение вывод команды ls, что совершенно бесперспективно. Если пишешь не из-под винды, запусти start_cmd=`sh -c «pwd»` && $start_cmd и сравни результат с start_cmd='sh -c «pwd»' && $start_cmd. Проблема в том, что sh -c пытается в данном случае запустить две команды, и ему это не удается.

У меня сработало start_cmd='sh -c «test.sh»' && $start_cmd, скрипт test.sh содержал все необходимые команды.

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