gpt4 book ai didi

linux - bash 中的字符串/数组操作?

转载 作者:可可西里 更新时间:2023-11-01 11:50:51 25 4
gpt4 key购买 nike

我想在 bash (.bashrc) 中使用类似的东西,所以别名是根据用户登录的 comp 设置的。我不知道如何从 10.0.0.210 获取 210,然后是最好的方法遍历列表 'user=xxx'

$radek ='210'
$mike ='209'


#SSH_CLIENT='10.0.0.210 53039 22' <--- system variable
$user = based on the 4th part of IP so
$user = radek if 210
$user = mike if 209

alias sites='cd /var/lib/code/'+$user

所以最后的别名看起来像g

'cd/var/lib/code/radek' 如果从 210 计算机登录

'cd/var/lib/code/mike' 如果从 209 计算机登录


感谢@Dennis Williamson 的最终代码

users[210]=radek
users[209]=mike

octet=($SSH_CLIENT) # split the value on spaces
#octed=${octet[0]##*.} # extract the last octet from the ip address
alias sites='cd /var/lib/code/'${users[${octet[0]##*.}]}

最佳答案

试一试:

users[210]=radek
users[209]=mike

octet=($SSH_CLIENT) # split the value on spaces
octet=${octet[0]##*.} # extract the last octet from the ip address
alias sites='cd /var/lib/code/'${user[octet]}

另一种分配用户的方法:

names=(bob jim anne kelly rick)
octet=211
for name in ${names[@]}
do
users[octet++]=$name
if (( octet > 255 ))
then
echo "Error: range limit exceeded"
break
fi
done

关于linux - bash 中的字符串/数组操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3412773/

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