如何强制ssh执行bash而不是远程机器上的用户默认值?

时间:2010-02-04 09:00:51

标签: bash ssh

我想用ssh执行bash脚本,但是当我尝试使用它时,它使用的是用户默认shell的ksh。

我无法更改默认设置。

那么,如何使用bash而不是默认的shell来欺骗ssh来执行我的脚本?

2 个答案:

答案 0 :(得分:5)

将其设为first line of your script

#!/usr/bin/env bash

编辑:根据this/usr/bin/env的实用程序可疑。所以,你可能想要:

#!/bin/bash

/bin/bash替换为bash可执行文件的实际路径。

答案 1 :(得分:3)

您可以使用bash明确调用脚本:

ssh <ssh-opts> bash <scriptname>

这样在登录时会执行ksh,但在ksh中你会开始执行你的脚本bash。