如何确保在 Linux 中使用 bash(而不是 tcsh)?

如何确保在 Linux 中使用 bash(而不是 tcsh)?

我有一个 bash 脚本,用于ssh连接到另一台服务器并在那里运行一些命令。我发现有些站点的错误 ( Warning: no access to tty (Bad file descriptor). Thus no job control in this shell.) 是一条友好消息,但我的 bash 脚本“卡住了”。出现此消息后,不会执行任何其他命令。其他论坛说使用它ssh -t来抑制该消息,但对我来说不起作用。我的代码如下所示:

.
.
.
stty -echo
sshpass "pwd" ssh -o StrictHostKeyChecking=no [email protected] 'su -lc "rm -rf tmp"' 2>/dev/null
stty echo
.
.
.

我之所以使用stty-echo是因为我需要将用户切换到 root,并且密码显示在终端上(我不想要)。Warning: no access to tty (Bad file descriptor). Thus no job control in this shell.在连接服务器(ip:1.1.1.1)上输入 root 密码后,我收到错误消息()。

有什么建议吗?如果需要进一步解释,请告诉我。谢谢!(我的 bash 版本是 GNU bash 版本 3.2.51(1))

删除时我收到的错误消息2>/dev/null是:

Warning: no access to tty (Bad file descriptor).
Thus no job control in this shell. 
stty: standard input: Invalid argument

答案1

-s /bin/bash传递给怎么样su

相关内容