无法在 shell 脚本中执行多个命令

unable to execute multiple commands in a shell script

我是 unix 和脚本的新手,需要您的帮助才能解决以下问题。 这些是我的 .sh 文件的内容

#!/bin/bash
usrun xyz
whoami

当我从 putty 调用此 bash 文件时,它要求我提供我的 xyz 用户密码一些其他信息以正确登录 xyz 用户。 成功登录后,putty 中的 $ 符号变为 #### xyz$,因此我猜测它为 xyz 用户打开了一个新会话。 但是,在那之后,whoami 命令没有被执行。只有在我输入 exit 之后, whoami 命令才会被执行。

为什么会这样? xyz用户认证成功后如何执行whoami命令?

#### 代表我当前通过 putty 连接到的服务器的最后四位数字。

不带任何参数的usrun命令会阻止bash脚本的执行。因此,直到命令未完成(当您键入 exit 时),才会执行下一个命令 (whoami)。

如果你想登录机器并执行命令,你应该尝试:

#!/bin/bash
usrun -u xyz whoami

-u 选项允许您指定用户,接下来您可以提供要执行的命令。

如果你想使用 Putty 在远程机器上执行多个命令我建议你遵循类似的东西 post:

https://superuser.com/questions/1103873/how-to-type-commands-in-putty-by-creating-batch-file