一、接收固定长度的参数
[root@svn shell_example]# cat params.sh #!/bin/bash #传参测试脚本 echo "My name is `basename $0` -I was called as $0" echo "My first parameter is : $1" echo "My second parameter is : $2"
[root@svn shell_example]# sh params.sh My name is params.sh -I was called as params.sh My first parameter is : My second parameter is :
[root@svn shell_example]# sh params.sh one two My name is params.sh -I was called as params.sh My first parameter is : one My second parameter is : two
以下用法应该不陌生,就是直接执行脚本本身,没有附带任何参数,那么脚本讲抛出帮助信息.即怎么使用此脚本.见红字部分
[root@svn shell_example]# sh params_v2.sh My name is params_v2.sh -I was called as params_v2.sh I was called with 0 parameters. Usage: params_v2.sh first second You provided 0 parameters,but 2 are required.
[root@svn shell_example]# cat params_v2.sh #!/bin/bash # 这是个测试脚本传参的测试例子echo "My name is `basename $0` -I was called as $0" echo "I was called with $# parameters."
if [ "$#" -eq "2" ];then echo "My first parameter is $1" echo "My second parameter is $2" else echo "Usage: `basename $0` first second" echo "You provided $# parameters,but 2 are required." fi
详细的执行过程如下
不传参数执行
[root@svn shell_example]# sh params_v2.sh My name is params_v2.sh -I was called as params_v2.sh I was called with 0 parameters. Usage: params_v2.sh first second You provided 0 parameters,but 2 are required.
[root@svn shell_example]# sh params_v2.sh one two three My name is params_v2.sh -I was called as params_v2.sh I was called with 3 parameters. Usage: params_v2.sh first second You provided 3 parameters,but 2 are required.
[root@svn shell_example]# sh params_v2.sh one two My name is params_v2.sh -I was called as params_v2.sh I was called with 2 parameters. My first parameter is one My second parameter is two
问题来了,要是后期还要加参数怎么办呢?或者我也不确定到底会传几个参数.
解决方法如下,详细执行结果如下
[root@svn shell_example]# cat manyparams.sh #!/bin/bash #这是个测试脚本传N个参数的例子echo "我的名字是 `basename $0` - 我是调用自 $0" echo "我有 $# 参数"
count=1 while [ "$#" -ge "1" ];do echo "参数序号为 $count 是 $1" let count=count+1 shift done
一个参数执行
[root@svn shell_example]# sh manyparams.sh one
我的名字是 manyparams.sh - 我是调用自 manyparams.sh
我有 1 参数
参数序号为 1 是 one
5个参数执行
[root@svn shell_example]# sh manyparams.sh one two three four five
我的名字是 manyparams.sh - 我是调用自 manyparams.sh
我有 5 参数
参数序号为 1 是 one
参数序号为 2 是 two
参数序号为 3 是 three
参数序号为 4 是 four
参数序号为 5 是 five
问题内容: 我想将参数传递给它。 我已经习惯了这样做,,....但我要开始对其进行命名 问题答案: 有很多方法可以解析sh中的参数。Getopt很好。这是一个简单的脚本,可以手动解析内容: 运行示例如下: 请注意,由于脚本eval是由用户构造的字符串,因此它甚至不具有强大的鲁棒性,也没有向安全漏洞开放。它仅是作为一种可能的做事方式的示例。一种更简单的方法是要求用户在环境中传递数据。在bourne
问题内容: 关于这种事情有很多问题,但让我们想象一下,我们的目标是安装了getopt和getopts的通用Linux系统(不是我们将使用其中任何一种,但它们似乎很流行) 如何同时解析长参数(–example | –example简单选项)和短参数(-e | -esimple-example | -e简单示例) 问题答案: 您想使用多头和空头期权。工作代码示例: 注意,是先前定义的功能(未显示)。
本文向大家介绍详解shell中脚本参数传递的两种方式,包括了详解shell中脚本参数传递的两种方式的使用技巧和注意事项,需要的朋友参考一下 方式一:$0,$1,$2.. 采用$0,$1,$2..等方式获取脚本命令行传入的参数,值得注意的是,$0获取到的是脚本路径以及脚本名,后面按顺序获取参数,当参数超过10个时(包括10个),需要使用${10},${11}....才能获取到参数,但是一般很少会超过
本文向大家介绍Linux中执行shell脚本的4种方法总结,包括了Linux中执行shell脚本的4种方法总结的使用技巧和注意事项,需要的朋友参考一下 bash shell 脚本的方法有多种,现在作个小结。假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限。 方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:
问题内容: 我有一个名为“ gcc_opt.pyw”的Python脚本,并将其目录包含在Windows PATH环境变量中。 但是不会将单个命令行参数传递给脚本。打印出sys.argv会告诉我argv列表中只有文件名。 该命令: 结果是 你能告诉我为什么没有其他论点吗? 我不知道它是否重要,但是我将python.exe设置为执行.pyw文件的默认程序,因为我看不到使用pythonw.exe的任何打
本文向大家介绍shell传参并将参数传递给sql文件的方法,包括了shell传参并将参数传递给sql文件的方法的使用技巧和注意事项,需要的朋友参考一下 如下所示: 调用代码: sh /tmp/t.sh 20160808 以上这篇shell传参并将参数传递给sql文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。