shell脚本怎样读取文件的值,并赋值给变量

我有一个文件,是这样的:#SoftwareID,Softwarename,Version,OStype,VendorUDP00001,TEST_SETSoftwarefo... 我有一个文件,是这样的:
#Software ID,Software name,Version,OS type,Vendor
UDP00001,TEST_SET Software for Linux,V1,Linux,"TEST, Inc."
UDP00002,TEST_SET Software for Windows,1.0,Windows,"TEST, Inc."
我需要将最后一行的第一个值(UDP00002)赋值给a,将倒数第二行最后一个值(UDP00001)赋值给b,在shell脚本中应该怎么写?这个文件前面可能还会有很多内容,我只管最后两行
展开
 我来答
四舍五不入6
高粉答主

2020-03-08 · 醉心答题,欢迎关注
知道答主
回答量:147
采纳率:100%
帮助的人:2.2万
展开全部

在sell脚本中,读取键盘输入的内容并将其赋值给shell变量的命令为:

read -p "input a val:" val echo $val

read - 从标准输入读取数值。这个 read 内部命令被用来从标准输入读取单行数据。这个命令可以用来读取键盘输入,当使用 重定向的时候,读取文件中的一行数据。

它的语法形式一般是:

read [-options] [variable...]

扩展资料:

Shell是一种脚本语言,常见的脚本解释器有:

bash:是Linux标准默认的shell。bash由Brian Fox和Chet Ramey共同完成,是BourneAgain Shell的缩写,内部命令一共有40个。

sh: 由Steve Bourne开发,是Bourne Shell的缩写,sh 是Unix 标准默认的shell。

常见的编程语言分为两类:一个是编译型语言,如:c/c++/java等,它们远行前全部一起要经过编译器的编译。

参考资料来源:百度百科-Shell脚本

小米飞猫
推荐于2016-05-27 · 专注于IT监控领域技术
小米飞猫
采纳数:1651 获赞数:4811

向TA提问 私信TA
展开全部
#!/bin/bash
#使用方法:./script.sh filename
a=$(sed -n '$p' $1 | awk -F"," '{print $1}')
b=$(sed -n '1!P;N;$q;D' $1 | awk -F"," '{print $1}')
echo $a 
echo $b
更多追问追答
追问
比如那个文件叫test.csv,怎样把文件写在shell里面?
我试了a=$(sed -n '$p' $1 | awk -F"," '{print $1}' test.csv)
这样貌似不好使
追答
比如你把这个保存到script.sh文件里。
你直接执行./script.sh test.csv
就可以了。不需要把文件写到脚本里,我给你做了个传参,你直接在脚本后边跟文件名就行了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式