我必须使用提供的脚本,该脚本在脚本运行时接受用户输入而不是参数。我无法解决这个问题。
脚本的一个例子是:
#!/bin/bash
echo "param one"
read one
doSomething
echo "param two"
read two
doSomething
echo "param three"
read three
doSomething
echo "param four"
read four
doSomething
echo "param five"
read five
doSomething
我想要一种能够调用此脚本并提供参数化输入的方法,例如:
./scriptNameWrapper.ksh 1 22 333 4444 55555
我试过谷歌搜索,要么我没有正确地问这个问题,要么更有可能我看不到树木。
我试过这个,这不起作用:
#!/bin/bash
./scriptName.ksh
<<$1
<<$2
<<$3
<<$4
<<$5
我显然不是* nix专家,但我确信我之前已经看过这个,我在那里找不到任何例子。这开始变得令人沮丧,任何帮助将不胜感激。
答案 0 :(得分:3)
根据您的尝试,您可能看到的内容称为here-document。
它应该是这样的:
#!/bin/bash
./scriptName.ksh <<-END_PARAMS
$1
$2
$3
$4
$5
END_PARAMS
答案 1 :(得分:2)
像这样调用你的脚本:
echo -e "Param1\nParam2\nParam3" | ./scriptName.ksh
每个参数之间的\ n序列模拟按下的回车键。
答案 2 :(得分:1)
将参数放在每行一个文件中,然后运行
./scriptName.ksh <filename