我需要读取我制作的脚本中给我的文件,该文件可以是任何名称,输入如下
./Naloga1.sh tocke < somefile.txt
这是我的代码:
while read line
do
echo $line
done <
问题是,首先,如果我将脚本名称放在“完成”处,它将读取我文件中的所有行 - 最后一行。 其次,我如何访问文件名然后输出它? 如果我回显 $1 $2 $3,则 $1 作为 tocke 出现,而 $2 和 $3 不存在
最佳答案
<
不是脚本的参数,bash
在调用脚本之前解释它。它重定向stdin
对于脚本来自,在本例中,somefile.txt
.
因此,您无需重定向任何内容即可从脚本内的文件中读取,它只需从 stdin
读取即可。因为 shell 已经为您处理了输入重定向。
如果您想将文件名作为参数,只需删除 <
来自您的调用,然后是字符串 somefile.txt
将存储在$2
中,如果您愿意或您可能有任何其他目的,您可以使用它来重定向 while 循环的输入。
关于bash - 在bash中逐行读取txt文件,而不知道其名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33984522/