> /dev/$(who |grep "$LOGNAME" |awk '{print $2}')解释一下这句话什么含义啊,>右边的,重定向到.

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 10:22:09

> /dev/$(who |grep "$LOGNAME" |awk '{print $2}')解释一下这句话什么含义啊,>右边的,重定向到.
> /dev/$(who |grep "$LOGNAME" |awk '{print $2}')
解释一下这句话什么含义啊,>右边的,重定向到.

> /dev/$(who |grep "$LOGNAME" |awk '{print $2}')解释一下这句话什么含义啊,>右边的,重定向到.

who命令的输出格式类似下面这样:

# who
calabash tty7         2009-12-09 20:04 (:0)
calabash pts/0        2009-12-09 20:20 (:0.0)
calabash pts/1        2009-12-09 20:27 (:0.0)


$(who |grep "$LOGNAME" |awk '{print $2}')

这句意思就是,先用grep过滤出登录用户的信息,然后用awk取得该行信息的第二个字段,即终端设备名称.pts是所谓的伪终端或虚拟终端,具体表现就是你打开一个终端,这个终端就叫pts/0,如果你再打开一个终端,这个新的终端就叫pts /1.Linux下一切皆文件,这些设备都是以设备文件的形式存在于/dev目录下.

所以,这句重定向也就是向登录用户的设备终端输出字符.