Shell 变量、脚本参数】的更多相关文章

在执行一个脚本程序时,会经常需要向脚本传递一些参数,并根据输入的参数值生成相应的数据或执行特定的逻辑. 向脚本传递参数 执行Shell脚本时可以带有参数,在Shell脚本中有变量与之对应进行引用.这类变量的名称很特别,分别是0.1.2.3...被称为位置变量. 位置变量是由 0 开始,其中 0 变量预留用来保存实际脚本的名字,1 变量对应脚本程序的第 1个参数,依次类推.与其他变量一样,可以在Shell 中通过“$”符号来引用位置变量的值. [root@localhost 20190105]#…
// 变量名和等号之间不能有空格 hello="123456"; echo $hello; // 花括号只是帮助识别变量边界 echo ${hello}; // unset 删除变量 unset hello; // 打印为空 echo $hello; // 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的 // 单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用 hello='12345'; echo '$hello wor…
测试登陆脚本 ./test.sh -p 123 -P 3306 -h 127.0.0.1 -u root #!/bin/sh ];then echo "USAGE: $0 -u user -p passwd -P port -h host" exit fi while getopts :u:p:P:h: name do case $name in u) mysql_user=$OPTARG ;; p) mysql_passwd=$OPTARG ;; P) mysql_port=$OPT…
一.shell变量自增a=1a=$(($a+1))a=$[$a+1]a=`expr $a + 1`let a++ let a+=1 ((a++)) echo $a 二.python脚本接收参数 from sys import argv argv[0] #  脚本名 first_arg = argv[1] second_arg = argv[2]…
Shell变量 一)全局环境变量 全局变量对于定义它的shell和其子shell都是可见的,但如果生成它的shell被终止,全局变量也就消失了.另外全局变量会被子shell的同名变量覆盖. #定义一个全局变量 export a="I want break free" #或者 b="Sunday Morning" export b #删除一个全局变量 unset a 二)局部环境变量 局部环境变量只能在定义它们的进程中可见. #注意变量名.等号.和值之间是没有空格的…
linux中shell变量$#,$@,$0,$1,$2,$!,$$,$*,$-,$@......等很多个,很容易记错,这里再次整理一下,相关含义解释如下,并附上一个实践截图. 多看几次,多用几次,应该就记熟悉了. 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 $* 所有参数列表.如"$*"用「"」括起来的情况.以"…
shell脚本参数中有空格 在shell脚本中如果有空格的处理如下: sh test.sh "hello word" echo $1 得到的是hello,而不是hello word. 正确的写法如下: vi test.sh #!/bin/bash source /etc/profile echo "$1" echo "$2" echo "$3" exit 0 测试: sh test.sh "hello word&qu…
一.Shell基础应用 目标: 本案例要求熟悉Linux Shell环境的特点,主要练习以下操作: 1> 切换用户的Shell环境       2> 练习命令历史.命令别名       3> 重定向标准输入/输出/错误输出       4> 管道操作实践 步骤: 步骤一:切换用户的Shell环境 若需要临时使用另一种Shell环境,可以直接执行对应的Shell解释器程序,比如只要执行ksh可以切换到ksh命令行环境. [root@svr5 ~]# yum -y install ks…
Shell支持自定义变量. 定义变量 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同时,变量名的命名须遵循如下规则: 首个字符必须为字母(a-z,A-Z). 中间不能有空格,可以使用下划线(_). 不能使用标点符号. 不能使用bash里的关键字(可用help命令查看保留关键字). 变量定义举例: myUrl="http://see.xidian.edu.cn/cp…
问题如下: 根据脚本参数的个数$#进行一个循环,在依次输出每个参数$1 $2 $3...... 我有一个循环变量i $i 取到这时的i为1,我想使用这个1再去调用$1,也是就是打印出第一个参数 就是$($i)的意思来取到第几个参数,当然$($i)是不好用的 当时纠结了好久,最后上百度提问,两位高手给出了答案: 1) #!/bin/sh NUMBER=$# echo $NUMBER i= while [ $i -le $NUMBER ] do a[$i]=$ #将数组a[i]赋值为$,即取得到第一…
定义变量 定义变量时,变量名不加美元符号($,PHP语言中变量需要),如: your_name="runoob.com" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同时,变量名的命名须遵循如下规则: 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头. 中间不能有空格,可以使用下划线(_). 不能使用标点符号. 不能使用bash里的关键字(可用help命令查看保留关键字). 有效的 Shell 变量名示例如下: DEVICENAME LD_LIBR…
既然是基础篇那肯定是需要对shell的各种需要注意的基本点进行说明了.接下来就是show time...    shell呢,是一个用C语言编写的应用程序,是用户使用linux的桥梁.所以呢,他既是一种命令语言,同时呢还是一种程序设计语言.shell脚本(shell script),是一种为shell编写的脚本程序.业界所说的shell通常都是指shell脚本,但是各位看官要知道的是,shell和shell script是两个不同的概念.由于习惯的原因,简介起见,本文出现的“shell编程”都是…
参数变量:用来向脚本中传递参数 我们在执行脚本的时候可以在其后面加入一些参数,通常来说这些参数与脚本中变量为对应关系. start.sh argu1 argu2 引用方式: $1,,2,……${10}${11},…… 在脚本后边给两个文件路径分别对应文件中的$1,$2.并将值传递给$1,$2 轮替: shift n:位置参数轮替.不给定个数时能默认为1. 脚本后给了三个参数,使用shift踢掉两个,所以脚本中最后引用$1实际值为3 特殊变量: $0:脚本文件路径本身 $#:脚本参数的个数 $*:…
一.格式 1.1 开头 必须以 "# !/bin/bash"  开头,告诉系统这是一个bash shell脚本.注意#与!中间有空格. 二.语法 2.1 数值运算 可以用declare -i声明为数值类型,也可以用 var = $((数值运算)),注意是两个括号 2.3 善用判断式 2.3.1 test命令 test命令可以测试,可以利用测试的结果走后续流程.测试文件和文件属性还是比较方便的. :~/test$ test -e nofile && echo "…
题记:来源与网络和自己工作中总结.有些脚本片段,函数经常使用. 1.判断登录用户 1.1脚本 [devtac@test_1 shell]$ vi check_user.sh #! /bin/sh echo "You are logged in as `whoami`"; if [ `whoami` != devtac ]; then echo "Must be logged in as devtac to run this script." exit fi echo…
1 shell变量基础 shell变量是一种很"弱"的变量,默认情况下,一个变量保存一个串,shell不关心这个串是什么含义.所以若要进行数学运算,必须使用一些命令例如let.declare.expr.双括号等.shell变量可分为两类:局部变量和环境变量.局部变量只在创建它们的shell中可用.而环境变量则可以在创建它们的shell及其派生出来的任意子进程中使用.有些变量是用户创建的,其他的则是专用shell变量.变量名必须以字母或下划线字符开头.其余的字符可以是字母.数字(0~9)…
一.Shell变量的应用 1.Shell变量的种类     ·用户自定义变量:由用户自己定义.修改和使用     ·预定义变量:Bash预定义的特殊变量,不能直接修改     ·位置变量:通过命令行给程序传递执行参数 2.变量的赋值与引用     ·定义新的变量             变量名要以英文字母或下划线开头,区分大小写             格式:变量名=变量值    · 查看变量的值             格式:echo $变量名         echo  "my name i…
变量 是一种很“弱”的变量,默认情况下,一个变量保存一个串,Shell不关心这个串是什么含义.所以若要进行数学运算,必须使用一些命令例如 let.declare.expr.双括号等. Shell变量可分为两类:局部变量和环境变量.局部变量只在创建它们的Shell中可用.而环境变量则可以在创建它们的Shell及其派生出来的任意子进程中使用.有些变量是用户创建的,其他的则是专用Shell变量. 变量的命名规则: 1.可以使用英文字母.数字(0~9)和下划线组成,任何其他的字符都标志着变量名的终止.…
8.1  先测试“/etc/vsftpd”.“/etc/hosts”是否为目录,并通过“$?”变量查看返回状态值,据此判断测试结果.[root@localhost ~]# [ -d /etc/vsftpd ][root@localhost ~]# echo $?0[root@localhost ~]# [ -d /etc/hosts ][root@localhost ~]# echo $?1[root@localhost ~]# ls -ld /etc/vsftpd /etc/hosts-rw-…
特殊的shell变量: $0  获取当前执行的shell脚本的文件名 $n  获取当前执行的shell脚本的第n个参数值,n=1..9 $*  获取当前shell的所有参数 “$1 $2 $3 …注意与$#的区别 $#  获取当前shell命令行中参数的总个数 $$  获取当前shell的进程号(PID) $!  执行上一个指令的PID $?  获取执行的上一个指令的返回值(0 为成功, 非零为失败) $@  这个程序的所有参数 “$1″ “$2″ “$3″ “…” 举例(通过脚本举例,大家也可…
文章版权:http://www.cnblogs.com/linux-super-meng/ 环境变量路径: [root@localhost ~]# set   //查看到的是局部变量和全局变量2种 [root@localhost ~]# env  //查看系统的全局环境变量 [root@localhost ~]# echo $PATH  //查看系统环境变量路径 [root@localhost ~]# export $PATH  //也可以使用export查看环境变量路径 [root@local…
linux中shell变量$#,$@,$0,$1,$2的含义解释 linux中shell变量$#,$@,$0,$1,$2的含义解释:  变量说明:  $$  Shell本身的PID(ProcessID)  $!  Shell最后运行的后台Process的PID  $?  最后运行的命令的结束代码(返回值)  $-  使用Set命令设定的Flag一览  $*  所有参数列表.如"$*"用「"」括起来的情况.以"$1 $2 … $n"的形式输出所有参数.  $…
(转载)http://blog.csdn.net/zahuopuboss/article/details/8633891 为使shell编程更有效,系统提供了一些shell变量.shell变量可以保存诸如路径名.文件名或者一个数字这样的变量名.shell将其中任何设置都看做文本字符串.有两种变量,本地和环境.严格地说可以有4种,但其余两种是只读的,可以认为是特殊变量,它用于向shell脚本传递参数.   1 什么是shell变量按照定义来说,变量是存储设备中的一些可读写的存储单元.变量可以定制用…
在命令行状态下单纯执行 $ cd `dirname $0` 是毫无意义的.因为他返回当前路径的".". $0:当前Shell程序的文件名dirname $0,获取当前Shell程序的路径 cd `dirname $0`,进入当前Shell程序的目录 这个命令写在脚本文件里才有作用,他返回这个脚本文件放置的目录,并可以根据这个目录来定位所要运行程序的相对位置(绝对位置除外).在/home/admin/test/下新建test.sh内容如下: cd `dirname $` echo `pw…
章节简述: 本章节将教给您如何使用Vim编辑器来编写文档.配置主机名称.网卡参数以及yum仓库 ,熟练使用各个模式和命令快捷键. 我们可以通过Vim编辑器将Linux命令放入合适的逻辑测试语句(if.for.while.case)后最终写出简单实用的Shell脚本. 还可以通过使用at命令或配置Crontab计划任务服务让系统自动按时工作,让日常工作更加的高效自动化,一劳永逸哦~ 本章目录结构 [收起] 4.1 了解Vim文本编辑器 4.1.1 编写简单文档 4.1.2 配置主机名称 4.1.3…
1 shell变量基础shell变量是一种很“弱”的变量,默认情况下,一个变量保存一个串,shell不关心这个串是什么含义.所以若要进行数学运算,必须使用一些命令例如let.declare.expr.双括号等.shell变量可分为两类:局部变量和环境变量.局部变量只在创建它们的shell中可用.而环境变量则可以在创建它们的shell及其派生出来的任意子进程中使用.有些变量是用户创建的,其他的则是专用shell变量.变量名必须以字母或下划线字符开头.其余的字符可以是字母.数字(0~9)或下划线字符…
Shell 变量分为3部分,分别是用户自定义变量.位置变量和预定义变量. 一.   自定义变量 那么,什么是变量呢?简单的说,就是让某一个特定字符串代表不固定的内容,用户定义的变量是最普通的Shell变量.y=3a+2b,就是把3a+2b这个值赋予y.变量名是以字母或下线符打头的,可以从第二位开始加入数字,并且大小写字母意义不同.如dir与Dir是不同的变量.变量名的长度不受限制.比如:expert=Bill,就是将Bill赋值给expert,后来脚本读取变量$expert时,会取值为Bill…
前不久入职实习生,现在在帮着组里面dalao们跑Case,时不时要上去收一下有木有Dump,每次敲命令太烦人于是逼着自己学写Shell脚本.一开始真的是很痛苦啊,也没能搞到书,只能凭网上半真半假的消息照葫芦画瓢!废话少说,上正文! =========================我是分割线========================= clear echo "Check_dump is a tool help you check dumps" numberOfSPs= comma…
脚本:运行的副作用不影响父环境,开辟了fork子进程; 函数:副作用,定义的变量,数据默认直接添加到了调用者的环境,也是它自己的环境;不想副作用影响调用者环境,就必须主动用local修饰; shell 中的参数只有一种类型:字符串,或者数字意义的字符串;使用=就意味着对变量进行赋数值,右边默认为字符串变量 函数中要使用传数组只能: 1.数组可以转换成字符串传入函数; 2.不使用参数,使用全局数组 双引号在shell 中意义非凡,它不仅仅代表字符串,被它包起来的数组"${arrname[@]}&q…
目录 Linux中 set.env.declare.export显示shell变量的区别 1. shell局部变量 2. 用户的环境变量 显示shell变量 declare 命令 export 命令 source 命令 nohup 命令 type 命令 内建命令和外部命令 设置环境变量永久有效和临时有效 其他配置文件 系统目录 问题 Linux中 set.env.declare.export显示shell变量的区别 shell变量包括两种变量 1. shell局部变量 局部变量在脚本或命令中定义…