简单的Unix重定向问题:将文件中的行作为脚本的命令行参数传递
发布时间:2020-12-16 01:46:08 所属栏目:安全 来源:网络整理
导读:好吧,我的Unix脚本编写技巧显然很生疏.我想要做的就是有一个带有4个参数的文件,我希望将它们传递给脚本,就像它们来自命令行一样.但奇怪的是这样做: ./myscript.sh mycmds.txt 似乎没有像我期望的那样工作. myscript.sh的内容是: cat out.txt EOF$1 $2 $3 $
好吧,我的Unix脚本编写技巧显然很生疏.我想要做的就是有一个带有4个参数的文件,我希望将它们传递给脚本,就像它们来自命令行一样.但奇怪的是这样做:
./myscript.sh < mycmds.txt 似乎没有像我期望的那样工作. myscript.sh的内容是: cat >> out.txt <<EOF $1 $2 $3 $4 EOF 因此,如果我从命令行运行myscript.sh,如下所示:./ myscript.sh test1 test2 test3 test4一切正常,我看到test1 test2 test3 test4出现在out.txt文件中.但是如果我将test1 test2 test3 test4作为一行放在一个名为mycmds.txt的文件中,然后运行./mysript.sh< mycmds.txt我只是在out.txt文件中得到一个空行. 那么我在这里做错了什么?将参数存储在文件中并将它们传递给脚本的正确方法是什么,以便将它们视为来自命令行? 解决方法
要使mycmds.txt的内容可用作命令行参数,只需在调用myscript.sh时内联内容:
./myscript.sh $(< mycmds.txt) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何在AngularJS资源中使用JSONP
- angularjs – 如何在Angular.js中解析
- scala – 什么时候调用ExecutionContext#reportFailure(Thr
- 将角2模型与聚合物下拉结合
- bash – sed命令在mac中不起作用
- Net的wsdl生成webservice 异常:undefined simple or compl
- yum install 报错[Errno 14] curl#37 - Couldn't open
- angular – EXCEPTION:根段不能有矩阵参数
- angularjs – 如何动态更改ui-router使用的默认状态?
- Shell注释