当前位置: 技术问答>linux和unix
如何传递参数给linux shell 脚本(当脚本从标准输入而不是从文件获取时)
来源: 互联网 发布时间:2017-01-10
本文导语: 1)cat xxx.sh | sh可以执行从标准输入获取的脚本,但无法传递参数 2)用xxx.sh a b c可以执行带参数的脚本,但是是从文件读取脚本。 我现在需要从加密的数据中解密出一个脚本并执行。因为安全的原因,我不想将脚本...
1)cat xxx.sh | sh可以执行从标准输入获取的脚本,但无法传递参数
2)用xxx.sh a b c可以执行带参数的脚本,但是是从文件读取脚本。
我现在需要从加密的数据中解密出一个脚本并执行。因为安全的原因,我不想将脚本保存成文件再执行,以避免留下痕迹。所以需要像1)那样直接执行脚本,但由于脚本有参数,又需要像2)那样可以传递参数给脚本,如何才能实现?
注:我参考了shc,发现shc好像没有考虑到这个问题。
2)用xxx.sh a b c可以执行带参数的脚本,但是是从文件读取脚本。
我现在需要从加密的数据中解密出一个脚本并执行。因为安全的原因,我不想将脚本保存成文件再执行,以避免留下痕迹。所以需要像1)那样直接执行脚本,但由于脚本有参数,又需要像2)那样可以传递参数给脚本,如何才能实现?
注:我参考了shc,发现shc好像没有考虑到这个问题。
|
在cat以后用sed把$1,$2等等参数替换成你要指定的参数,然后再sh,这样不知道符不符合楼主的意思?
cat test.sh|sed 's/$1/param1/g'|sh
cat test.sh|sed 's/$1/param1/g'|sh