如何在 ssh 脚本中切换到用户 jenkins?

发布于 2024-11-28 03:28:51 字数 295 浏览 2 评论 0原文

我运行

ssh root@myhost "sh -x" < myremotecommands.sh

myremotecommands.sh 包含的位置:

#!/bin/sh
sudo su
apt-get update
sudo su -l -p jenkins
whoami

但是命令 whoami 返回“root”。 我需要成为用户 jenkins 才能执行一些安装。

如何在脚本中间切换到用户 jenkins ?

I run

ssh root@myhost "sh -x" < myremotecommands.sh

where myremotecommands.sh contains:

#!/bin/sh
sudo su
apt-get update
sudo su -l -p jenkins
whoami

however the command whoami returns 'root'.
I need to be user jenkins to perform some installations.

How can I switch to the user jenkins in the middle of the script ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

若有似无的小暗淡 2024-12-05 03:28:51

您只需使用“su”命令和“-s /bin/bash”参数即可。它是必需的,因为 jenkins 用户不应该以交互方式使用,因此它没有定义 bash。

su jenkins -s /bin/bash

此后,“whoami”命令会将您报告为“jenkins”用户。

You just have to use "su" command with "-s /bin/bash" argument. It´s needed because jenkins user was not supposed to be used interactively, so it doesn´t have the bash defined.

su jenkins -s /bin/bash

After this, the "whoami" command will report you as "jenkins" user.

允世 2024-12-05 03:28:51

使用$USER。这将为您提供登录时使用的用户名。 Whoami 返回您当前操作的用户。

Use $USER. That will give you the username you logged in as. Whoami returns the user you're currently operating as.

高冷爸爸 2024-12-05 03:28:51

问题解决:

#!/bin/sh
sudo su
apt-get update
su jenkins <<HERE
whoami
echo usr=$USER
HERE

将输出:
詹金斯
usr=root

来源:
http://www.daniweb.com/software-development/shell-scripting /线程/14498

Problem solved:

#!/bin/sh
sudo su
apt-get update
su jenkins <<HERE
whoami
echo usr=$USER
HERE

will output:
jenkins
usr=root

Source:
http://www.daniweb.com/software-development/shell-scripting/threads/14498

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文