gksudo не действует как sudo для 'string' >> file [duplicate]

Я пытаюсь создать двухстрочный сценарий для временной установки определенного сервера имен. Поэтому я просто вывожу 'nameserver XXX.XXX.XXX.XXX' в файл /etc/resolv.conf , потому что в следующий раз он все равно будет перезаписан. Дело в том, что когда я пытаюсь запросить пароль через gksudo, я получаю сообщение об ошибке, потому что он пытается вывести результат gksudo в файл.

ОБНОВЛЕНИЕ:

Мой текущий файл сейчас:

#!/bin/sh
gksudo "bash -c \"echo 'nameserver XXX.XXX.XXX.XXX' >> /etc/resolv.conf\""

Команда с sudo вместо gksudo и без "" и ] \\ работает как надо. Остается как ввести его в подсказку графического интерфейса.

1
задан 13 January 2015 в 13:02

3 ответа

Вы были очень близки, пробуете это:

#!/bin/sh
gksudo "bash -c \"echo 'nameserver XXX.XXX.XXX.XXX' >> /etc/resolv.conf\""
3
ответ дан 6 October 2019 в 04:31

Поскольку можно читать здесь - http://sernaonubuntu.wikidot.com/command-line:piping-and-directing-output >>, символ добавляет результат команды в файл

результат 'nameserver XXX.XXX.XXX.XXX', команда.. хорошо команда, не найденная: P

, Что приходит на помощь, является командой эха (как @chaos законно сказал), который повторяет текст, и тот результат может быть передан по каналу в файл

, Хотя можно использовать более простую версию его сценария

#!/bin/sh
gksudo echo 'nameserver XXX.XXX.XXX.XXX' >> /etc/resolv.conf
1
ответ дан 6 October 2019 в 04:31

Имейте Вас, попробовал это в типе коня в этом:

    #!bin/sh
           Case (nameserver) in
                 /bin/sh
                 nameserver = XXX.XXX.XXX XXX >>
                 gksudo 'echo' nameserver >>
                 resolvconf XXX.XXX.XXX.XXX >>
           endl

и это могло бы хорошо работать этот путь.

-4
ответ дан 6 October 2019 в 04:31

Другие вопросы по тегам:

Похожие вопросы: