
sh 绝对路径/xxxsh 参数1 参数2 参数3参数n
---------------------------------------------------------------------------------
如果你保存临时文件的话,可以使用xargs
比如脚本文件为1sh,而参数保存在args文件中,用一个命令得到参数内容
cat args
那么最后可以这样执行
cat args |xargs sh 1sh
如果不打算保存临时文件,那你只好在脚本中写清楚要如何调用,参数有几个。
比如你使用2sh调用1sh,在2sh 中写清楚
1sh $arg1 $arg2这样就可以了。
当然脚本中的arg1,arg2也可以是最初的第一个脚本调用传递进来的,也可以是硬编码写死的。
调用shell脚本时,后面接参数即可,例如
/testsh
arg1
arg2
arg3
即表示传入参数arg1,
arg2
,arg3
在testsh中
使用$1,
$2
,$3
分别表示接收到的参数arg1,
arg2,
arg3
注意,如果参数中包含空格的话,整个参数要用引号括起来,避免被分割成两个参数
处理Shell 函数传人参数中包含的特殊字符,要根据shell函数内部实现来具体问题具体分析。
一般来说,将入参作为参数再传入其他函数时,不需 ,直接传入。
如果要查找入参中的特殊字符,需要用\转义
楼上说的有点问题,只有$0~$9哦,没有$10的。这些叫做位置参数,共10个位置参数。
$0表示脚本名称本身,$1~$9分别表示9个参数,要想取第10个参数,必须用shift来移位。
shift (= shift 1), 即移一位。移位后$1就表示取第2个参数了。
shift 9后用$1就取到了第10个参数。
以上就是关于如何传递参数给linux shell 脚本(当脚本从标准输入而不是从文件获取时)全部的内容,包括:如何传递参数给linux shell 脚本(当脚本从标准输入而不是从文件获取时)、希望在一个shell里用for循环执行传入的参数,该如何做、如何正确处理Shell 函数传人参数中包含的特殊字符等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)