shell脚本在执行时,向脚本传递参数

Shell脚本在执行时,也可以像命令和应用程序一样,接收脚本参数。

一个应用实例:

vi addhead.sh:

suaddhead ns=591 <$1 |sushw key=dt a=20000|sushw key=fldr,cdp a=1,1 b=0,1 c=1,0 j=1301,1301> $2

执行:

./addhead.sh rtm_step10_lap.dat rtm_step10_lap.su(其中,rtm_step10_lap.dat是输入数据,输入给$1, 输出为:rtm_step10_lap.su)

教程如下:

可以使用系统定义的位置变量,位置变量是一类比较特殊的变量,引用脚本参数时,可以使用$1到$9这9个变量。

示例:cat example1.sh

#!/bin/bash

#Demonstrate the use of positive variables.

echo "The first parameter:"$1

echo "The second parameter:"$2

echo "The third parameter:"$3

echo "The fourth parameter:"$4

上面的脚本中,分别使用$1 $2 $3 $4捕获传递给脚本文件的第1 2 3 4个参数,并将其输出。

执行:

#为脚本文件添加可执行权限

chmod u+x example1.sh

#./example1.sh One Two  Three  Four

The first parameter: One

The second parameter: Two

The three parameter: Three

The fourth parameter: Four

示例2:example2.sh

echo ‘$1‘ "=" $1    ‘$2‘ "=" $2    ‘$3‘ "=" $3

echo ‘$4‘ "=" $4    ‘$5‘ "=" $5    ‘$6‘ "=" $6

echo ‘$7‘ "=" $7    ‘$8‘ "=" $8    ‘$9‘ "=" $9

运行:

./example2.sh a b c d e f g h i

得到:

$1 = a    $2 = b    $3 = c

$4 = d    $5 = e    $6 = f

$7 = g    $8 = h   $9 = i

时间: 2024-11-07 01:56:15

shell脚本在执行时,向脚本传递参数的相关文章

shell脚本从入门到复杂三(传递参数)

在执行 Shell 脚本时,可以向脚本传递参数,脚本内获取参数的格式为:$n.n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数... 以下实例我们向脚本传递三个参数,并分别输出,其中 $0 为执行的文件名 # cat test.sh #!/bin/bash echo "Shell 传递参数示例"; echo "文件名:$0"; echo "第一个参数: $1"; echo "第二个参数: $2"; ec

七十三、分发系统介绍、expect脚本远程登录、expect脚本远程执行命令、expect传递参数

七十三.分发系统介绍.expect脚本远程登录 一.分发系统介绍 expect脚本:能传输文件,可以远程执行命令,不需要输入密码,上线代码. 首先,准备一台模板机器,这台机器上的代码是最新的代码,准备要上线的代码,要知道要线上机器的ip地址,还有对应用户和密码. 二.expect脚本远程登录 #  yum install -y expect 自动远程登录 [[email protected] sbin]# vim 1.expect       路径:/usr/local/sbin/ #! /us

python 脚本传递参数

给python程序传递参数 运行python脚本时有时需要执行实传递参数 在linux下: [[email protected] ~]# cat /opt/python.py #!/usr/local/bin/python # -*- coding:utf-8 -*- import sys print(sys.argv[0]) #sys.argv[0] 类似于shell中的$0,但不是脚本名称,而是脚本的路径 print(sys.argv[1]) #sys.argv[1] 表示传入的第一个参数,

shell调用python脚本,并且向python脚本传递参数

1.shell调用python脚本,并且向python脚本传递参数: shell中: python test.py $para1 $para2 python中: import sys def main($canshu1, $canshu2) ..... main(sys.argv[1], sys.argv[2]) 2.使用shell调用python中的函数: python脚本如下: test.py: import ConfigParser config = ConfigParser.Config

20.27分发系统介绍;20.28expect脚本远程登录;20.29expect脚本远程执行命令;20.30expect脚本传递参数

20.27 分发系统介绍 shell项目-分发系统-expect 20.28 expect脚本远程登录 1. 安装expect [[email protected] ~]# yum install -y expect 自动远程登录 2. 创建配置1.expect脚本(远程登录) [[email protected] ~]# vim 1.expect 添加内容(自动远程登录hao2机器并执行命令) #! /usr/bin/expect set host "192.168.211.129"

shell的简单批量curl接口脚本

shell脚本可以说作用非常大,在服务器领域,用shell操作事务可比手动点击要方便快捷得多了.虽然只是文字界面,但是其强大的处理功能,会让各种操作超乎想象.而且,也可以将这些习惯移植到日常的工作当中,提升办事效率. 其实shell语法很简单,基本上就是综合一下在命令行下,一个个的命令集合,然后就组成了shell脚本.当然了,不懂语法的,百度搜索一下就好了嘛,毕竟,重要的是思想而非语法. 最近,刚接一需求,如下: DBA会将一些服务规则的数据导出,然后一条条手动去curl某应用接口,从而完成相应

【hadoop】如何向map和reduce脚本传递参数,加载文件和目录

本文主要讲解三个问题: 1 使用Java编写MapReduce程序时,如何向map.reduce函数传递参数. 2 使用Streaming编写MapReduce程序(C/C++, Shell, Python)时,如何向map.reduce脚本传递参数. 3 使用Streaming编写MapReduce程序(C/C++, Shell, Python)时,如何向map.reduce脚本传递文件或文件夹. (1) streaming 加载本地单个文件 (2) streaming 加载本地多个文件 (3

如何向map和reduce脚本传递参数,加载文件和目录

本文主要讲解三个问题: 1 使用Java编写MapReduce程序时,如何向map.reduce函数传递参数. 2 使用Streaming编写MapReduce程序(C/C++, Shell, Python)时,如何向map.reduce脚本传递参数. 3 使用Streaming编写MapReduce程序(C/C++, Shell, Python)时,如何向map.reduce脚本传递文件或文件夹. (1) streaming 加载本地单个文件 (2) streaming 加载本地多个文件 (3

分发系统介绍、expect脚本远程登录、expect脚本远程执行命令、expect脚本传递参数

20.27 分发系统介绍 应用场景 当业务越做越大,服务器需求越来越多,几台服务器的话还好一点:当十几.几十台的时候,工作量就非常大!并且不规范,需要一个模板机分发到各个机器上去. 可以用开源的软件,expect脚本语言,进行实现分发系统的功能. 20.28 expect脚本远程登录 yum install -y expect 自动远程登录,并执行命令 #!/usr/bin/expect set host "192.168.21.130" set passwd "rootro