在bash中逐行读取txt文件,而不知道其名称

时间:2015-11-29 15:34:52

标签: bash input

我需要在我制作的脚本中读取给我的文件,该文件可以是任意名称,输入如下

  

./ Naloga1.sh tocke< somefile.txt

这是我的代码:

while read line
do
  echo $line
done < 

问题是,首先如果我把脚本名称放在完成后,它将读取我文件中的所有行 - 最后一行。 其次,如何获取文件名然后输出呢? 如果我回报1美元2美元3美元,1美元和tocke一样,2美元和3美元不存在

1 个答案:

答案 0 :(得分:2)

<不是脚本的参数,bash在调用脚本之前解释该脚本。它重定向stdin以使脚本来自,在本例中为somefile.txt

因此,您不必重定向任何内容以从脚本内的文件中读取内容,它只能从stdin读取,因为shell已经为您处理了输入重定向。

如果您想将文件名作为参数,只需从调用中删除<,然后将字符somefile.txt存储在$2中即可如果您愿意或者您可能有任何其他目的,请使用重定向while循环的输入。