我想知道是否可以将输出重定向文件名作为参数添加到bash中?
例如:
./myscript.sh parameter1 > outputfile
有没有办法让“outputfile”作为$ 2这样的参数?在我的脚本中我必须在outputfile中做一些操作,但我不知道我要更新哪个文件...第二个问题是,这个脚本已经运行并被多个任务使用,所以我无法更改用户输入..
祝你好运
答案 0 :(得分:0)
重定向不是程序的参数。当程序的输出被重定向时,shell会打开文件并在运行程序之前将文件描述符2
连接到它。然后程序只需写入fd 2(又名stdout
)并转到文件。
在Linux和类似系统上,您可以使用/dev/stdout
,它是进程stdout文件的符号链接。