gdm
/ gnome-power-manager
может обнаружить это и приостановить машину соответственно. для Попытки GNOME2
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s --type=int /apps/gnome-power-manager/timeout/sleep_computer_ac 600
и
gconftool-2 --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults -s --type=int /apps/gnome-power-manager/timeout/sleep_computer_ac 600
как корень. Вы, возможно, должны перезапустить gdm
чтобы настройки вступили в силу. (число является секундами, таким образом, 600 10 минут).
под GNOME3 существует подобная пара gsettings
ключи (вышеупомянутое тихо перестало работать).
Если Вы не выполняете GNOME, Вы могли бы осмотреть источник gnome-power-manager
выяснять, как это устанавливает безделье.
Также помещение целого echo '...'
команда в
cat <<'EOF' >> /home/USER/.bashrc
...
EOF
помог бы Вам избавиться многие внутренние кавычки.
Как другие ответы упоминают, проблема вкладывается кавычки.
Я предлагаю, чтобы Вы рассмотрели как, заключив работы в кавычки в ударе. Короче говоря, кавычки (любого вида, одинарных кавычек '
, двойные кавычки "
или обратные галочки'), почти всегда соответствуют первому вхождению кавычки того же вида; необходимо выйти из кавычки для него для не соответствия (но Вы не можете выйти из одинарных кавычек '
).
Так, (1) апостроф в what's
окружает одинарную кавычку echo '
:
echo '
# what's my pub. ip?
Другими словами, Ваш echo
управляйте концами после ... ip?
и остальное сразу выполняется ударом как команда, которая является, по-видимому, не, что Вы имели в виду.
Как Rajish' ответ предполагает, использование здесь-документов решает многие проблемы заключения в кавычки:
echo >> /home/USER/.bashrc <<'__EOF__'
# what's my pub ip?
echo "we can nest quotes in here"
__EOF__
(2) Затем как уже сообщается в ответе ультраполотна пилы, кавычки на этой строке не соответствуют правильно:
alias myip="curl -s "http://checkip.dyndns.org/" | grep -o "[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*" | head -1"
Вы, вероятно, хотение первого и последнего "
символы (двойной кавычки) на строке, чтобы соответствовать, но колотить соответствуют им в порядке, из которого с ними встречаются на строке (слева направо), таким образом, двойная кавычка, оставленная "http://...
закрывает кавычки после alias myip="
. Точно так же | grep -o
и | head -1
рассматриваются в кавычках, и http://...
и [0-9]*\....
не. (Это не будет иметь никаких серьезных синтаксических последствий в этом случае, кроме grep
наблюдение обратных косых черт, но имеет в виду его для будущего.)
Одно решение состоит в том, чтобы выйти из двойных кавычек (и также обратные косые черты, поскольку обратные косые черты не теряют свое особое значение в двойных кавычках):
alias myip="curl -s \"http://checkip.dyndns.org/\" | grep -o \"[0-9]*\\.[0-9]*\\.[0-9]*\\.[0-9]*\" | head -1"
Другое обходное решение, которое работает в этом случае, должно использовать одинарные кавычки '
вместо этого; любой для определения псевдонима:
alias myip='curl -s "http://checkip.dyndns.org/" | grep -o "[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*" | head -1'
или для команд в определении псевдонима:
alias myip="curl -s 'http://checkip.dyndns.org/' | grep -o '[0-9]*\\.[0-9]*\\.[0-9]*\\.[0-9]*' | head -1"
(3) Наконец, в строках:
export PROMPT_COMMAND='PS1="`
if [[ \$? = "0" ]];
'
(одинарная кавычка) символ после PROMPT_COMMAND=
интерпретируется как запуск новой мультилинии отдельно заключенная в кавычки строка, которая заканчивается в строке:
fi`[\u@\h \w]\[\e[m\] "'
Таким образом другая отдельно заключенная в кавычки строка запускается '
символ на последней строке, но удар никогда не видит одинарной кавычки соответствия. Таким образом Вы получаете ошибку:
unexpected EOF while looking for matching `''
Ну, одной проблемой является эта строка:
myip="curl -s "http://checkip.dyndns.org/" | grep -o "[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*" | head -1"
bash
перепутан кавычками посреди строки. При помещении "кавычек в кавычках", Вы обычно хотите выйти из них, как так:
myip="curl -s \"http://checkip.dyndns.org/\" | grep -o \"[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\" | head -1"