我正在使用Linux shell脚本(bash)进行基本程序
我想读取文件的第一行并将其存储在变量中。
我的输入文件:
100|Surender|CHN
101|Raja|BNG
102|Kumar|CHN
我的shell脚本位于
之下first_line=cat /home/user/inputfiles/records.txt | head -1
echo $first_line
我正在使用bash records.sh
执行shell脚本它抛出了我的错误
/home/user/inputfiles/records.txt line 1: command not found
有人可以帮助我吗
答案 0 :(得分:1)
该行
first_line=cat /home/user/inputfiles/records.txt | head -1
将变量first_line
设置为cat
,然后尝试将其余部分作为命令执行,从而导致错误。
您应该使用command substitution执行cat .../records.txt | head -1
作为命令:
first_line=`cat /home/user/inputfiles/records.txt | head -1`
echo $first_line
答案 1 :(得分:1)
另一个答案解决了你犯的明显错误。但是,您没有使用惯用的方式来读取文件的第一行。请考虑一下(更有效,避免子shell,管道,两个外部进程,其中无用的cat
):
IFS= read -r first_line < /home/user/inputfiles/records.txt