我需要在我制作的脚本中读取给我的文件,该文件可以是任意名称,输入如下
./ Naloga1.sh tocke< somefile.txt
这是我的代码:
while read line
do
echo $line
done <
问题是,首先如果我把脚本名称放在完成后,它将读取我文件中的所有行 - 最后一行。 其次,如何获取文件名然后输出呢? 如果我回报1美元2美元3美元,1美元和tocke一样,2美元和3美元不存在
答案 0 :(得分:2)
<
不是脚本的参数,bash
在调用脚本之前解释该脚本。它重定向stdin
以使脚本来自,在本例中为somefile.txt
。
因此,您不必重定向任何内容以从脚本内的文件中读取内容,它只能从stdin
读取,因为shell已经为您处理了输入重定向。
如果您想将文件名作为参数,只需从调用中删除<
,然后将字符somefile.txt
存储在$2
中即可如果您愿意或者您可能有任何其他目的,请使用重定向while循环的输入。