为了账号安全,请及时绑定邮箱和手机立即绑定

cut -d "=" -f 2中的cut 是列提取命令,-d是判断文件是否存在的命令,整体是什么意思,是怎么确定当前目录是root的????

test=$(env | grep "USER" | cut -d "=" -f 2)

正在回答

4 回答

你自己分别执行这几个命令,看看结果就能明白了。

env是输出环境变量的命令,每个环境变量占一行,其中叫USER的环境变量中保存的就是用户名,输出的形式是 USER=用户名

grep命令用来将这一行提取出来。

cut命令能够按指定的分隔符来分割一行字符,-d 指定分隔符(你哪里觉得它是判断文件的??又不是test语句!),-f 指定要输出哪一段字符。很显然环境变量格式就是由=分割的两段字符串,所以 cut -d "=" -f 2 输出的就是=后面的部分,也就是实际用户名。

以上这三个命令用管道相连,共同完成任务。

0 回复 有任何疑惑可以回复我~
#1

EpisodeOne 提问者

非常感谢!
2015-07-21 回复 有任何疑惑可以回复我~

此-f非彼-f。一个是在test命令中,一个是在grep命令中,意义完全不同。

0 回复 有任何疑惑可以回复我~

#!/bin/bash

if [ $1=="redhat" ]

than

echo fedora

elif [ $1 =="fedora" ]

echo "redhat"

else

echo "please input again!"

0 回复 有任何疑惑可以回复我~

cut是切割命令,参数-d表示按什么划分,参数-f表示截取哪些字段。 

eg :env | grep "USER"     执行结果为:root=root

cut -d "=" -f 2   表示将其=号作为分隔符,选取其第2个字段,所有就是root


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

cut -d "=" -f 2中的cut 是列提取命令,-d是判断文件是否存在的命令,整体是什么意思,是怎么确定当前目录是root的????

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信