shell参数传递】的更多相关文章

在shell编程时.可以使用参数.Shell有位置参数和内部参数 1. 位置参数 由系统提供的参数称为位置参数.位置参数的值可以用$N得到,N是一个数字,如果为1,即$1.类似C语言中的数组,Linux会把输入的命令字符串分段并给每段进行标号,标号从0开始.第0号为程序名字,从1开始就表示传递给程序的参数.如$0表示程序的名字,$1表示传递给程序的第一个参数,以此类推.   2. 内部参数 上述过程中的$0是一个内部变量,它是必须的,而$1则可有可无.和$0一样的内部变量还有以下几个. $# -…
应用实例: #!/bin/bash #运行:bash para_tran.bash text1.txt text2.txt #"set $1"设置存储传入的第一参数 #"set $2"设置存储传入的第一参数 cat $1 cat $2 参考: Bash Shell中命令行选项/参数处理…
我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n.n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推…… 实例 以下实例我们向脚本传递三个参数,并分别输出,其中 $0 为执行的文件名: #!/bin/bash # author:hong echo "current file name is $0" echo "first param name is $1" echo "first param…
目录 简介 基本传参 $* 与 $@ 区别 默认参数(变量默认值) if 繁琐方式 - 变量为null = 变量为null时, 同时改变变量值 :- 变量为null 或 空字符串 := 变量为null 或 空字符串, 同时改变变量值 :? 变量为null 或 空字符串时报错并退出 :+ 变量不为空时使用默认值 简介 除了基本的获取脚本执行时的传入参数外, 还有更便捷的语法糖: 参数默认值, 自动赋值. 基本传参 先来一个示例: #!/bin/sh echo 参数0: $0; echo 参数1:…
背景 最近编写ansible脚本,需要自动调用之前写好的shell脚本,由于shell脚本中包含了read命令接收用户的手动输入,为了实现ansible脚本的自动运行,不得不将手动输入转换为自动输入.以下为常见的两种场景: read命令接收输入 #!/bin/sh #file name start.sh echo "please input name" read name echo "please intput pssword" read password echo…
一.传参实例 ##脚本文件内容 #执行的文件名 echo $0; #第一个参数 echo $1; #第二个参数 echo $2; #第三个参数 echo $3; ##调用语句 ./testShell.sh 1 9 5 输出结果: 二.处理参数 #普通输出 echo "Shell 传递参数实例!"; #获取某个参数的值: $n echo "第一个参数为:$1"; #获取参数数量: $# echo "参数个数为:$#"; #把传参作为一个字符串显示…
8.传递参数    1.使用$n来传递参数($0表示文件名)    例子:    echo "执行的文件名:$0";    echo "第一个参数为:$1";    echo "第二个参数为:$3";      ./test.sh 1 2     输出结果为:    执行的文件名:test.sh    第一个参数为:1    第二个参数为:2 2.特殊字符处理参数(这里面个别没有测试)    $# : 传递到脚本的参数的个数    $* : 以一…
1.shell脚本解释器 Bourme Shell (/usr/bin/sh 或 /bin/sh ) Bourme Again Shell ( /bin/bash ) C Shell ( /usr/bin/csh ) K Shell ( /usr/bin/ksh ) shell for Root ( /sbin/sh) bash 由于易用和免费,所以在开发环境中广泛应用 2.第一个shell 脚本 #!/bin/bash echo "Hello World" #! 是一个约定的标记,它…
一 Linux 的字符串截取很有用.有八种方法. 假设有变量 var=http://www.linuxidc.com/123.htm 1  # 号截取,删除左边字符,保留右边字符. echo ${var#*//} 其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符 即删除 http:// 结果是 :www.linuxidc.com/123.htm . 2  ## 号截取,删除左边字符,保留右边字符. echo ${var##*/} ##*/ 表示从…
shell通配符: * 匹配0或多个字符 a*b a与b之间可以有任意长度的任意字符, 也可以一个也没有, 如aabcb, a01b, ab等 ? 匹配任意一个字符 a?b a与b之间有且只有一个字符, 可以是任意字符, 如aab, adb, a0b等 [list] 匹配list中的任意单一字符 a[xyz]b a与b之间有且只有一个字符, 且只能是x或y或z, 如: axb, ayb, azb. [!list] 匹配除list中的任意单一字符 a[!-]b a与b之间有且只有一个字符, 但不能…