如何在bash脚本中使用小于符号(<)之后获取参数?

时间:2014-04-27 04:40:13

标签: linux bash command-line-arguments

例如,我有

./run.sh < file.dat

如何在run.sh中获取参数“file.dat?”

1 个答案:

答案 0 :(得分:4)

在Linux上,您可以从/proc获取此数据:

#!/bin/bash
readlink /proc/$$/fd/0

这将打印任何以stdin打开的路径,例如示例中的file.dat

请注意,以这种方式获取文件名不是使用该文件的正确方法,应该纯粹用于调试和信息目的。

要处理数据,您只需从stdin读取即可。例如,读取IFS= read -r myline; echo "$myline"行读取单行,或mydata=$(cat); echo "$mydata"读取所有行。