gpt4 book ai didi

bash - 如何获取用空格分隔的字符串的第一个元素

转载 作者:行者123 更新时间:2023-11-29 09:37:36 25 4
gpt4 key购买 nike

我试图在 bash 脚本中获取 su 之后的用户名。我使用了以下代码:

user=`who am i`
#user <- "user4035 pts/0 2017-04-02 05:13 (my-hostname)"
userarray=($user)
#userarray <- ["user4035", "pts/0", "2017-04-02 05:13", "(my-hostname)"]
user=${userarray[0]}
#outputs "user4035"
echo $user

它工作正常,但是否可以用更少的命令获得相同的结果?

最佳答案

使用 bash parameter-expansion 而无需使用数组,

myUser=$(who am i)
printf "%s\n" "${myUser%% *}"
user4035

(或)只使用一个简单的 awk 命令,

who am i | awk '{print $1}'
user4035

即在一个变量中做,

myUser=$(who am i | awk '{print $1}')
printf "%s\n" "$myUser"

(或者)如果您的脚本以 sudo 权限运行,您可以使用此 bash 环境变量,

printf "%s\n" "${SUDO_USER}"

关于bash - 如何获取用空格分隔的字符串的第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43167317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com