Какие положительные герои присутствуют в оболочках UNIX без Bash?

Я хотел бы знать, как определить, было ли соединение успешным или оно не установилось?

blockquote>

Putty не предоставляет механизм внешним программам, таким как Powershell, который указывает, является ли Сеанс SSH был или не был успешно установлен.

Есть ли какой-нибудь код возврата для команды Putty, который скрипты могут перехватить, по которому я смогу определить?

blockquote>

Нет.

Я собираюсь пропустить назначение существующих кодов и то, как вы извлекаете их в Powershell. Вы можете найти эту тошноту в сети.

Мартин Прикрыл предлагает использовать библиотеку .NET SSH.

Если вы настроены на создание сценариев через SSH-клиент, посмотрите на plink или ssh-клиент Windows 10 . Например, если вы используете встроенный ssh-клиент для Windows 10 с чем-то вроде ...

ssh foo@bar
$?

Соединение с bar как пользователь foo завершится неудачно, и вы увидите, что $? вернет false в качестве результата.

5
задан 22 February 2009 в 04:01
поделиться

8 ответов

Я неравнодушен к zsh (он похож на смешение ksh и удара). У руководства есть хороший обзор его функций. Эта страница имеет хорошую диаграмму, показывающую доступность различных функций в различных оболочках.

5
ответ дан 18 December 2019 в 13:19
поделиться
  • удар: По моему опыту, большинство людей использует удар, частично потому что это - стандартная оболочка в большинстве систем Linux.

  • ksh: Много систем Соляриса используют ksh вместо этого, но это, кажется, освобождает популярность для избиения.

  • csh: Csh раньше был более популярным, но обычно заменялся tcsh. tcsh, не плохо для тех, кто очень доволен подобным синтаксису C.

  • zsh: Я не использовал zsh, но это, кажется, очень многофункционально.

Лично, я предпочитаю удар, потому что он установлен почти на каждой совместимой с Unix ОС, это очень универсально, и является хорошим компромиссом между простым инструментом командной строки и языком сценариев.

3
ответ дан 18 December 2019 в 13:19
поделиться

Bash является лучшим для знания для самой широкой совместимости, можно сидеть в в основном любом Unix, и это будет там.

Zsh является одной из самых современных оболочек, вероятно. Существуют все виды сумасшедшего забавного материала, который можно сделать с ним

2
ответ дан 18 December 2019 в 13:19
поделиться

Я использую ksh93 предпочтением. Это означает, что основы ksh доступны в в значительной степени любой системе, на которой я нахожу меня, таким образом, мой интерактивный опыт и 98% моего сложного профиля остается таким же.

1
ответ дан 18 December 2019 в 13:19
поделиться

bash является немного медленным, но как много программ FSF, это пытается включить все известные функции. Я использую ksh93, который в основном сходился с bash. Основное преимущество ksh это, это имеет хороший интерфейс для расширения оболочки с кодом C. Также немного легче настроить, например, заставить клавишу Tab сделать то, что Вы хотите в контексте. Недостаток - то, что завершение команды не встроено; необходимо программировать его.

Избежать csh и его производные :-)

1
ответ дан 18 December 2019 в 13:19
поделиться

У меня был тот, подстроенный для обеспечения истории оболочки на сессию.

Уникальной вещью здесь было каждое окно, имел его собственную историю оболочки. Довольно удобный.

0
ответ дан 18 December 2019 в 13:19
поделиться

По моему опыту, существует очень немного положительных героев в стандартных оболочках Unix (где это означает мне, csh, sh, ksh) это также не присутствует, по крайней мере, в эквивалентной форме в bash. Следовательно, пока Вы удобны это bash будет на всех Ваших машинах, можно также использовать его для получения максимальной функциональности.

OTOH, если Вы хотите иметь дело с мобильностью, Вы будете, вероятно, использовать ksh, который рубит достаточно близкий к стандарту POSIX - с некоторыми расширениями (удар также справедливо близко к стандарту POSIX, но со скорее большим количеством расширений).

Мне действительно нравится POSIX $(cmd) нотация вместо классических обратных галочек

`cmd`

(Который не был забавой в Скидке с цены!). Одна основная причина симпатии его состоит в том, что очень, намного легче вложить вызовы:

gcclib=$(dirname $(dirname $(which gcc)))/lib

Разбирание в этом на одной строке с обратными галочками достаточно глупо, что Вы не попытались бы превратить его в остроту. Это находится в ksh и bash; это не находится в классической Оболочке Bourne (/bin/sh, но знайте это /bin/sh на некоторых машинах не классическая Оболочка Bourne, но bash скрытый), ни в оболочке C.

1
ответ дан 18 December 2019 в 13:19
поделиться

Если Вы используете удар, и Вы довольны им, никакая потребность измениться сразу же. Это - хорошая оболочка. Знание истории его говорит Вам что-то о нем также: Граница Снова Оболочка. Это была хорошая попытка сделать лучшую оболочку, чем Оболочка C и ее производные (как tcsh), позволяя Вам использовать/bin/sh синтаксис для сценариев (или для интерактивного использования), но добавление некоторых более хороших функций csh (как история и так далее).

Оболочка Korn и Bash имеют много общего в понятии так или иначе. Как/bin/sh, оболочка Korn прибыла из AT&T первоначально и не была открыта полученный до относительно недавно. Это имеет хороший механизм истории и делает захват файла на файлах состояния истории так, чтобы, если они смонтированы на сетевых файловых серверах, несколько копий оболочки правильно записали в файл истории, не ударяя друг друга. Это также поддерживает/bin/sh синтаксис и включает некоторые хорошие вещи о/bin/csh. Существует много к ksh, и это обычно - довольно хорошая оболочка, если можно найти его. Я раньше использовал его на Солярисе, особенно назад, когда я работал в Sun. Я не хотел устанавливать что-либо, что не шло с ОС, так как я устанавливал новую ОС несколько раз в неделю, таким образом, это было хорошим выбором.

Теперь я использую или Bash или zsh. Я предпочитаю zsh из-за его богатого набора функций завершения команды и записи функций оболочки в целом (для моих интерактивных оболочек - при программировании сценариев, я придерживаюсь довольно стандартного материала Оболочки Bourne).

Как другие сказали, лучше избегать любой версии оболочки C, за исключением тех оболочек, которые дают Вам некоторые функции/bin/csh, но не получены на основании кода/bin/csh.

1
ответ дан 18 December 2019 в 13:19
поделиться