ksh Ваши собственные ярлыки, псевдонимы, настройки каждый вход в систему?

В вашем примере apt-get update не выходил с ошибкой, потому что считал проблемы предупреждениями, а не смертельно плохими. Если есть действительно фатальная ошибка, то она выйдет со статусом ненулевого.

Одним из способов распознавания аномалий является проверка этих закономерностей в stderr:

  • Линии, начинающиеся с W: - это предупреждения
  • Lines, начинающиеся с E: являются ошибками

Можно использовать нечто подобное, чтобы эмулировать сбой в случае совпадения вышеуказанных шаблонов, или код выхода самого apt-get update ненулевой:

if ! { sudo apt-get update 2>&1 || echo E: update failed; } | grep -q '^[WE]:'; then
    echo success
else
    echo failure
fi

Обратите внимание на ! в if. Это потому, что grep успешно выходит, если шаблон был совпаден, то есть, если бы были ошибки. Когда ошибок нет, сам grep grep не будет работать. Поэтому условием if является отрицание кода выхода grep.

0
14.12.2014, 14:42
1 ответ

Так как похоже, что у вас нет возможности настроить свой .профиль, но вы можете написать в /tmp, то вы можете сделать следующее:

  • Положите все свои настройки в скрипт оболочки (например, $HOME/myCustomizations.sh) на вашем локальном сервере. Что-то вроде этого:

     alias ls='ls -laht'.
     экспортировать AN_ENVIRONMENTAL_VAR_I_NEED_SET=VALUE
    
  • scp $HOME/myCustomizations.sh в каталог /tmp вашего удаленного сервера:

     $ scp $HOME/myCustomizations.sh user@remoteServer:/tmp/
    
  • заходите на ваш удаленный сервер, как обычно.

  • запустите там свой скрипт.

Это должно привести к настройкам в кш, который вы выполняете на этом терминале. Конечно, раздражает то, что приходится каждый раз прокручивать все подряд, когда вы хотите войти в систему, а затем запускать этот сценарий, но это, скорее всего, является улучшением по сравнению с тем, что вы делаете сейчас, вводя все в строке запроса после входа в систему. В любом случае /tmp/myCustomizations.sh должен жить до тех пор, пока кто-нибудь не перезагрузит удаленный сервер и не очистит каталог /tmp.

Сделайте этот снимок и дайте мне знать, если он вас куда-нибудь приведет.

1
28.01.2020, 02:51

Теги

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