我在bash中有以下代码:
#!/bin/sh
w=`who | grep $1`
if [ -z "$w" ]; then
echo "$1 ... ";
fi
您能帮我理解这段代码的输出吗? 我可以看到它将显示命令行中的给定参数($ 1,$ 2 ...)
但是我不太明白这两行:
w=`who | grep $1`
if [ -z "$w" ]; then
由于我找不到太多信息,您能为我提供一些帮助吗
答案 0 :(得分:1)
给我看一个脚本,检查您作为参数传递给脚本的用户名是否已登录到系统上。
例如,如果您使用./check.sh nonexistinguser
进行调用,它将打印nonexistinguser ...
。
说明:
w=`who | grep $1`
执行who
,显示登录的人,然后grep
将传递给脚本的任何参数($1
)的结果存储在名为{{ 1}};看看w
-z
如果if [ -z "$w" ]; then
的长度为零,则执行if的正文。