菜鸟求助linux shell 变量设置,看不懂.
小弟看到了一个脚本,要求统计系统中使用/bin/bash作为shell的用户,并将用户名称打印输出,用户名都输出在同一行类似SHELL16users,Theyare:ro...
小弟看到了一个脚本,要求统计系统中使用/bin/bash作为shell的用户,并将用户名称打印输出,用户名都输出在同一行
类似 SHELL 16 users, They are:
root,root_one,root_two
脚本内容如下,
BASH_C=`grep '/bin/bash' /etc/passwd | wc -l`
NOLOGIN_C=`grep '/sbin/nologin' /etc/passwd | wc -l`
echo "BASH,$BASH_C'users',they are:"
for i in `seq 1 $BASH_C`;do
BASH_N="$BASH_N`grep '/bin/bash' /etc/passwd | head -$i | tail -1 | cut -d: -f1`,"
done
echo $BASH_N
输出结果如下:
[root@server02 ~]# sh k.sh
shell 16 'user',They are:
root , binzai , a1 , a2 , a5 , ay12 , user1 ,
现在看不懂的是 这句BASH_N="$BASH_N`grep '/bin/bash' /etc/passwd | head -$i | tail -1 | cut -d: -f1`,"
BASH_N=$BASH_N???? 为什么这样表达呢,请原谅小弟是菜鸟,之前没有系统学习过编程
小弟试过了,如果改成 BASH_N=`grep '/bin/bash' /etc/passwd | head -$i | tail -1 | cut -d: -f1`
echo "${BASH_N},
则一行只 输出一个用户名
root,
binzai,
a1,
a2,
a5,
ay12,
user1,
user2, 展开
类似 SHELL 16 users, They are:
root,root_one,root_two
脚本内容如下,
BASH_C=`grep '/bin/bash' /etc/passwd | wc -l`
NOLOGIN_C=`grep '/sbin/nologin' /etc/passwd | wc -l`
echo "BASH,$BASH_C'users',they are:"
for i in `seq 1 $BASH_C`;do
BASH_N="$BASH_N`grep '/bin/bash' /etc/passwd | head -$i | tail -1 | cut -d: -f1`,"
done
echo $BASH_N
输出结果如下:
[root@server02 ~]# sh k.sh
shell 16 'user',They are:
root , binzai , a1 , a2 , a5 , ay12 , user1 ,
现在看不懂的是 这句BASH_N="$BASH_N`grep '/bin/bash' /etc/passwd | head -$i | tail -1 | cut -d: -f1`,"
BASH_N=$BASH_N???? 为什么这样表达呢,请原谅小弟是菜鸟,之前没有系统学习过编程
小弟试过了,如果改成 BASH_N=`grep '/bin/bash' /etc/passwd | head -$i | tail -1 | cut -d: -f1`
echo "${BASH_N},
则一行只 输出一个用户名
root,
binzai,
a1,
a2,
a5,
ay12,
user1,
user2, 展开
2个回答
展开全部
BASH_N="$BASH_N`grep '/bin/bash' /etc/passwd | head -$i | tail -1 | cut -d: -f1`,"
BASH_N你就理解成一个字符串变量,每一次循环,在后面append上一个用户名
比如在etc/password里登记的用户,使用/bin/bash作为shell的用户有root , binzai , a1 , a2 , a5 , ay12 , user1这么几个人,则每次循环后BASH_N的变化如下:
啥也没有
root
root,binzai
root,binzai,a1
......
你后面的之所以每一行都有回车,是因为使用了echo,echo会自动加一个回车.
BASH_N你就理解成一个字符串变量,每一次循环,在后面append上一个用户名
比如在etc/password里登记的用户,使用/bin/bash作为shell的用户有root , binzai , a1 , a2 , a5 , ay12 , user1这么几个人,则每次循环后BASH_N的变化如下:
啥也没有
root
root,binzai
root,binzai,a1
......
你后面的之所以每一行都有回车,是因为使用了echo,echo会自动加一个回车.
浙江启扬智能科技有限公司
2023-06-12 广告
2023-06-12 广告
Android和ARM、Linux之间存在密切的联系。Android是一种基于Linux内核的嵌入式智能操作系统,它采用了ARM处理器作为其主要处理器架构。Android的内核和许多应用程序都是基于ARM架构编写的,包括处理器和内存管理器。...
点击进入详情页
本回答由浙江启扬智能科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询