如何传递参数给linux shell 脚本(当脚本从标准输入而不是从文件获取时)

如何传递参数给linux shell 脚本(当脚本从标准输入而不是从文件获取时),第1张

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 函数传人参数中包含的特殊字符等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9529008.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存