如何捕获在终端中写入的字符串(文本)并将其放入变量中并放入同一脚本(使用 sudo 运行)。例子:
#!/usr/bin/env bash
read -p "Put your username: " UNAME
myusername="Value of UNAME"
或者如何使用 sudo从 bash 脚本中获取非 root 用户的名称(echo $USER)并将其放入变量中
如何捕获在终端中写入的字符串(文本)并将其放入变量中并放入同一脚本(使用 sudo 运行)。例子:
#!/usr/bin/env bash
read -p "Put your username: " UNAME
myusername="Value of UNAME"
或者如何使用 sudo从 bash 脚本中获取非 root 用户的名称(echo $USER)并将其放入变量中
当您这样做
read -p <prompt string> <variable>
时,用户输入的字符串将存储在 . 在您的示例中,用户输入将存储在UNAME
. 如果您在其他地方需要此输入,您可以使用$UNAME
. 没有理由将值转移到myusername
,您可以直接read
进入myusername
,或UNAME
稍后在脚本中使用。至于第二个问题,获取非root用户并没有一种一致的方法。有几种方法适用于各种发行版,请参阅这个 stackoverflow 问题,但这取决于您正在运行的发行版和版本以及您的配置方式。如果您可以在脚本
sudo
内部调用并事先获取 $USER,那也可以,但在脚本执行期间会提示用户输入密码,这可能是不可取的。