Как заставить ssh выполнять bash вместо пользовательского по умолчанию на удаленной машине? - PullRequest
0 голосов
/ 04 февраля 2010

Я хочу выполнить bash-скрипт с ssh, но когда я пытаюсь это сделать, он использует ksh, который является оболочкой пользователя по умолчанию.

Я не могу изменить это значение по умолчанию.

Итак, какя могу обмануть ssh для выполнения моего скрипта с помощью bash вместо оболочки по умолчанию?

Ответы [ 2 ]

5 голосов
/ 04 февраля 2010

Сделайте это первой строкой вашего скрипта :

#!/usr/bin/env bash

Редактировать : Согласно это , утилита /usr/bin/env сомнительна. Итак, вы, вероятно, хотите:

#!/bin/bash

Заменить /bin/bash фактическим путем к исполняемому файлу bash.

3 голосов
/ 04 февраля 2010

Вы можете явно вызвать ваш скрипт с помощью bash:

ssh <ssh-opts> bash <scriptname>

Таким образом, ksh будет выполнен при входе в систему, но внутри ksh вы запустите bash, выполняющий ваш скрипт.

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