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

use*_*115 4 ssh sudo sh su

我跑

ssh root@myhost "sh -x" < myremotecommands.sh
Run Code Online (Sandbox Code Playgroud)

myremotecommands.sh包含的位置:

#!/bin/sh
sudo su
apt-get update
sudo su -l -p jenkins
whoami
Run Code Online (Sandbox Code Playgroud)

然而命令whoami返回'root'.我需要成为用户jenkins来执行一些安装.

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

Fer*_*ira 6

你只需要使用带有"-s/bin/bash"参数的"su"命令.这是必要的,因为jenkins用户不应该以交互方式使用,所以它没有定义bash.

su jenkins -s /bin/bash
Run Code Online (Sandbox Code Playgroud)

在此之后,"whoami"命令将报告为"jenkins"用户.


bui*_*ded 2

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