SHELL传参简单实例

说明:shell传参,顾名思义就是将参数传送到shell脚本里,我们可以将一些参数以sh scripts.sh 参数 参数+1 参数+2 的方式执行。
脚本内获取参数的格式为:$n n 代表一个数字,
$1 为执行脚本的第一个参数(对应上面的参数)
$2 为执行脚本的第二个参数,以此类推……

下面就举一个简单的栗子:

1.首先编辑一个简单的脚本,如下:
[[email protected] 01]# vim 1.sh

#!/bin/bash
echo "I am $1,you are $2."

2.执行以下脚本
[[email protected] 01]# sh 1.sh
I am ,you are .
[[email protected] 01]# cat 1.sh
#!/bin/bash
echo "I am $1,you are $2."

3.将对应的参数加在脚本后面
[[email protected] 01]# sh 1.sh lili leilei
I am lili,you are leilei.

shift命令会将位置参数可以用shift命令左移。
比如shift 3命令 会将原来的$4现在变成$1,
会将原来的$5现在变成$2等等,
会将原来的$1、$2、$3丢弃,$0不移动。
不带参数的shift命令相当于shift 1。

原文地址:http://blog.51cto.com/13233089/2105287

时间: 2024-11-13 10:21:45

SHELL传参简单实例的相关文章

Shell传参的多种方式

Shell 传参的多种方式 使用$1 $2 这种类似占位符的方式 # 命令行调用 start.sh 8080 9090 # 脚本中获取 port1=$1 # 8080 port2=$2 # 9090 可以看出来这种方式使用起来很简单,但灵活性太差,比如我只想传第二个参数,第一个使用默认值,这个就不行,所以就有第二种,指定参数传递 指定参数 getopts(shell内置命令) #命令行调用 start.sh -a 8080 -b 9090 # 脚本中获取 while getopts "d:b:h

SHELL传参注意事项,尽量使用双引号传参

#!/bin/bash function convert(){ keyword=${1//\\/\\\\\\\\} keyword=${keyword//\./\\.} keyword=${keyword//\*/\\\\*} keyword=${keyword//\&/\\\\&} keyword=${keyword//\$/\\\\$} keyword=${keyword//\+/\\\\+} keyword=${keyword//\=/\\\\=} keyword=${keyword

expect脚本远程登录、远程执行命令和脚本传参简单用法

expect介绍: 最近想写一个自动化安装脚本,涉及到远程登录.分发文件包.远程执行命令等,其中少不了来回输入登录密码,交互式输入命令等,这样就大大降低了效率,那么有什么方法能解决呢?不妨试试expect: expect是一款自动化的脚本解释型的工具. expect基于tcl脚本,expect脚本的运行需要tcl的支持. expect对一些需要交互输入的命令很有帮助,比如ssh ftp scp telnet. expect就可以根据设定的规则,自动帮我们输入密码,大大节省了时间. 远程登录lin

小程序传参简单理解

在onload页面 原文地址:https://www.cnblogs.com/xm666/p/11355276.html

shell脚本传参

写了个脚本自动生成pdf上传github受不了每次相同的commit决定使用脚本传参 简单好用使用加粗方法,更复杂的可以参考下面两个详解. 如何给shell脚本传参数 http://jingyan.baidu.com/article/b24f6c822645b786bfe5daff.html #!/usr/bin/zsh xelatex -synctex=1 -interaction=nonstopmode "leetcode-cpp".tex > makepdf.log cd

关于Shell脚本read传参问题

Shell脚本传参有两种方式: 方式1:sh  file.sh  arg1 arg 2.... 方式2:read -p "提示"  arg 1 arg2 默认参数直接是以空格进行区分的,下面通过几个实例讲解一下传参遇到的问题及困惑 方式一:通过脚本实例展示 [[email protected] ~]# cat arg1.sh  #!/bin/bash funChag() {   echo $1 $2 } main() {   echo $1 $2   funChag $1 $2 } m

用python写一个专业的传参脚本

问:linux系统命令如ls,它有几十个参数,可带一个或多个参数,可不分先后,用起来是非常的专业.但是自己写的传参脚本,一般只传一个参数,如果传多个,也是固定的顺序,那么如何用python写出更专业的传参脚本呢? 答:使用python自带的getopt模块. 1.语法: import getopt getopt.getopt(args,shortopts, longopts=[]) #函数示例:getopt.getopt(sys.argv[1:],'u:p:P:h',["username=&qu

shell编程实例---实现整数的加减乘除余运算(利用read和脚本传参的方式)

1.read读取方式: [[email protected] scripts]# vim read_1.sh    1 #!/bin/bash   2 # Filename: read_1.sh   3 # Describe: Integer arithmetic   4 # Author: Lijun   5 # Date: 2015-08-24   6 # Version: 1.0.1   7     8 read -p "Please input two nums: " a b 

第五章 shell函数的定义、执行、传参和递归函数

第五章 shell函数的定义.执行.传参和递归函数 Bash(Bourne Again shell)也支持函数,在编写大型复杂脚本的时候,可以用函数把代码编写成一个一个功能相对独立的代码块,使代码模块块.结构清晰.有效的减少程序的代码量.但是bash shell是一种解释性语言,执行效率没有编译性语言高. shell函数的定义 格式一:( function name() { command sequence (命令序列) } 格式二: name() { command sequence (命令序