shell及脚本1——变量】的更多相关文章

一 脚本的创建和执行 1. 创建文件*.sh,文件后缀为sh 2. 编辑脚本 首行必须为:#!/bin/bash   #指定解释脚本的shell 3. 赋权 chmod u+x a.sh 4. 执行 ./a.sh 二 shell脚本中的变量 1.变量的定义与删除 name="hello" #定义变量=前后不能有空格 unset name #删除变量 a. 当前shell中定义的变量只在当前shell有效 b. 不论是普通变量还是环境变量,归根结底都是变量,都遵循变量的基本操作 2.环境…
一.shell shell是操作系统与用户之间的沟通的渠道,可以接收并执行用户的命令,有很多shell程序,目前linux默认使用bash shell程序. bash shell有很多实用功能,例如: 命令记忆 命令补全 [TAB][TAB]:列出所有命令 *[TAB][TAB]:列出所有以字符*开头的命令 *[TAB]:列出当前目录以字符*开头的命令 后台运行,&,可以不受CTRL+C影响,且单一登录环境中达到多任务目的 程序脚本,功能强大 二.变量 跟C语言里的变量意义差不多. 三.变量的显…
目录: 前言 如何创建一个脚本 脚本调试 变量相关 变量的命令规则 bash中变量的种类 本地变量 环境变量 只读和位置变量 位置变量 查询变量 进程的退出状态与状态码 前言 在linux管理中,shell脚本很是重要,它可以帮助我们完成很多繁琐的工作,专注于更重要的事情上来,脚本的学习也是我们学习linux中所要遇到的比较困难的部分,因为它需要对vim,正则,逻辑,程序化语言有一定的熟悉,shell编程是过程式,解释执行的.它包括各种系统指令的组合,数据存储(变量,数组).表达式.语句. 在s…
第1章 shell中的特殊变量 1.1 $# $# 表示参数的个数 1.1.1 [示例]脚本内容 [root@znix ~]# cat /server/scripts/show2.sh #!/bin/bash echo $1 $2 $# if [ $? == 0 ];then echo "OK" fi 实例1-1 执行的不同结果 [root@znix ~]# sh  /server/scripts/show2.sh  1 2 3 4 6 1 2 5 [root@znix ~]# sh …
原文地址:http://blog.csdn.net/abc86319253/article/details/46341839    在shell中定义函数可以使代码模块化,便于复用代码.不过脚本本身的变量和函数 的变量的作用域问题可能令你费解,在这里梳理一下这个问题.   (1)Shell脚本中定义的变量是global的,其作用域从被定义的地方开始,到shell结束或 被显示删除的地方为止.   例1:脚本变量的作用域 #!/bin/bash #define the function ltx_f…
(1)Shell脚本中定义的变量是global的,其作用域从被定义的地方开始,到shell结束或被显示删除的地方为止.(2)Shell函数定义的变量默认是global的,其作用域从“函数被调用时执行变量定义的地方”开始,到shell结束或被显示删除处为止.函数定义的变量可以被显示定义成local的,其作用域局限于函数内.但请注意,函数的参数是local的.(3)如果同名,Shell函数定义的local变量会屏蔽脚本定义的global变量.…
http://blog.csdn.net/ltx19860420/article/details/5570902 1. shell脚本中定义的变量是global的,其作用域从被定义的地方开始,到shell结束或被显示删除的地方为止. #!/bin/bashltx_func() {   echo $v1   v1=200 }v1=100ltx_funcecho $v1结果:100200 解析:脚本变量v1的作用域从被定义的地方开始,到shell结束.调用函数ltx_func的地方在变量v1的作用域…
[转]shell编程下 特殊变量.test / [ ]判断.循环.脚本排错 第1章 shell中的特殊变量 1.1 $# $# 表示参数的个数 1.1.1 [示例]脚本内容 [root@znix ~]# cat /server/scripts/show2.sh #!/bin/bash echo $1 $2 $# if [ $? == 0 ];then echo "OK" fi 实例1-1 执行的不同结果 [root@znix ~]# sh  /server/scripts/show2.…
I:知识整理:变量.运算符.流程控制.函数.计划任务 变量 系统变量:set:显示所有变量                env:环境变量 常用系统变量: path pwd lang home histsize ps1 ifs 变量赋值:x=test               echo $x               删除变量 unset x 自定义变量 定义变量: 变量名=变量值 变量名必须以字母或下划线开头,区分大小写 ip1=192.168.2.115 引用变量: $变量名 或 ${变…
在shell中定义函数可以使代码模块化,便于复用代码.不过脚本本身的变量和函数的变量的作用域问题可能令你费解,在这里梳理一下这个问题. (1)Shell脚本中定义的变量是global的,其作用域从被定义的地方开始,到shell结束或被显示删除的地方为止. 例1:脚本变量的作用域#!/bin/bash#define the function ltx_funcltx_func(){   echo $v1   #modify the variable v1   v1=200 }#define the…
一直对shell脚本有一种特殊的感觉,因此花了一段时间学习,本人擅长C语言编程,深受C语言荼毒,在学习其他任何类似于编程语言的东东的时候,都会不自觉的与C进行对比,因此对于shell中的变量的作用域一直有点疑问,在此总结一下: 首先,脚本的变量声明相比于C来说还是比较简单好用的,跟python有的一拼,没有那么复杂的用法,直接说明然后使用,无论是字符串还是数字都一样.但是本着严谨的态度,对于变量的声明和使用,还是希望有需要的时候声明使用,不需要的时候,立马舍弃丢掉,一刻不多留,这就需要了解she…
shell脚本-高级变量 字符串变量切片 ${#var}: 返回字符串变量var的长度 ${var:offset}: 返回字符串变量var中从第offset个字符后(不包括第offset 个字符)的字符开始,到最后的部分,offset 的取值在0到 ${#var}-1 之间(bash4.2 后,允许为负值) ${var:offset:number}: 返回字符串变量var中从第offset个字符后(不包括第offset 个字符)的字符开始 ,长度为number 的部分 ${var: -lengt…
与Shell变量相关的几个命令: 变量只在当前Shell中生效. source 这个命令让脚本影响他们父Shell的环境(. 可以代替source命令) export 这个命令可以让脚本影响其子Shell的环境  () unset 从环境中删除变量 其他几个与变量有关的命令: declare: 用于显示或设置变量 let: 用于求整数表达式的值 local: 用于创建不能传给子Shell的变量, 这个命令仅在过程内部有效 readonly: 用于显示或者设置只读变量 set: 用于设置或者重置各…
一.shell脚本特殊变量 1.shell中常用特殊位置变量说明: $0 获取当前执行的shell脚本的文件名,如果执行脚本包含了路径,那么就包含了脚本路径 $n 获取当前执行的shell脚本的第n个参数值,n=1-9,表示第1,...,9个参数值,当n大于9时,则用大括号{ } 括起来,如${10},脚本接的参数以空格隔开 $# 获取当前执行的shell脚本后面接的参数总个数 $* 获取当前shell脚本所有传参的参数,不加双引号时,与$@的作用相同,加双引号时,如"$*",则表示将…
一.格式 1.1 开头 必须以 "# !/bin/bash"  开头,告诉系统这是一个bash shell脚本.注意#与!中间有空格. 二.语法 2.1 数值运算 可以用declare -i声明为数值类型,也可以用 var = $((数值运算)),注意是两个括号 2.3 善用判断式 2.3.1 test命令 test命令可以测试,可以利用测试的结果走后续流程.测试文件和文件属性还是比较方便的. :~/test$ test -e nofile && echo "…
Shell当中的特殊变量 一.保留变量 $IFS 这个变量中保存了用于分割输入参数的分割字符,默认识空格. $HOME 这个变量中存储了当前用户的根目录路径. $PATH 这个变量中存储了当前 Shell 的默认路径字符串. $PS1 表示第一个系统提示符. $PS2 表示的二个系统提示符. $PWD 表示当前工作路径. $EDITOR 表示系统的默认编辑器名称. $BASH 表示当前 Shell 的路径字符串. $0, $1, $2, ... 表示系统传给脚本程序或脚本程序传给函数的第0个.第…
灵活结合Linux/Unix Shell 与SQL 之间的变量传输,极大程度的提高了DBA的工作效率,本文针对Linux/Unix shell sql 之间传递变量给出几个简单的示例以供参考. Linux/Unix 下调用SQL,RAMN 请参考:Linux/Unix shell 脚本中调用SQL,RMAN脚本 一.示例 1.shell变量接受sql返回值之方式一 oracle@SZDB:~> more ./retval.sh #!/bin/bash RETVAL=`sqlplus -silen…
shell中的特殊变量:变量名含义$0shell或shell脚本的名字$*以一对双引号给出参数列表$@将各个参数分别加双引号返回$#参数的个数$_代表上一个命令的最后一个参数$$代表所在命令的PID$!代表最后执行的后台命令的PID$?代表上一个命令执行后的退出状态…
在Shell脚本中调用awk是非常自然和简单的,以前还写过一个关于awk/shell相互传递变量的文章:awk与shell之间的变量传递方法在awk脚本中,如果需要调用shell脚本/命令,则需要使用system()函数,如果需要将变量传递给被调用的shell,则写为 system(“sh my.sh ” $var) 注意第二个引号前有一个空格. awk调用shell,并将变量传递给shell,看下面的演示,就一下明白了:   1 2 3 4 5 6 7 8 9 jay@jay-linux:/t…
SHELL中的特殊变量和结构 表格 B-1. 特殊的shell变量 变量 含义 $0 脚本名字 $1 位置参数 #1 $2 - $9 位置参数 #2 - #9 ${10} 位置参数 #10 $# 位置参数的个数 "$*" 所有的位置参数(作为单个字符串) * "$@" 所有的位置参数(每个都作为独立的字符串) ${#*} 传递到脚本中的命令行参数的个数 ${#@} 传递到脚本中的命令行参数的个数 $? 返回值,显示最后命令的退出状态.0表示没有错误,其他任何值表明有…
shell中的特殊变量 $? :上一个命令的执行状态返回值 $#::参数的个数 $*:参数列表,所有的变量作为一个字符串 $@:参数列表,每个变量作为单个字符串 $1-9,${10}:位置参数 $$:脚本的进程号 $_:之前命令的最后一个参数 $0:脚本的名称 $!:运行在后台的最后一个进程ID 那么问题来了,这些特殊的变量怎么传递到shell中定义函数中去呢? 一个脚本说明问题 [root@lamp tmp]# cat test.sh #!/bin/sh func () { echo "$1&…
shell常用脚本 author:headsen chen  2017-10-17 15:36:17 个人原创,转载请注明,否则依法追究法律责任 1,vim  name.grep.sh 2,cat  tellme.sh 3,cat idcheck.sh 4,cat case.sh 注意:脚本里调用文件名:$0 5,for循环语句 执行第一轮循环时,将 list 中的第一个词赋给循环变量,并把该词从 list 中删除,然后进入循环体,执行 do 和 done 之间的命令.下一次进入循环体时,则将第…
shell 中的特殊变量 变量名   含义 $#     参数的个数 $$     代表所在命令的PID $0     shell或shell脚本的名字 $*     以一对双引号给出参数列表 $@     将各个参数分别加双引号返回 $!     代表最后执行的后台命令的PID $_     代表上一个命令的最后一个参数 $?     代表上一个命令执行后的退出状态…
shell脚本编程 编译器,解释器 编程语言: 机器语言,汇编语言,高级语言 静态语言:编译型语言 强类型(变量) 事先转换成可执行格式 C,C++,JAVA,C# 动态语言:解释型语言,on the fly 弱类型 边解释边执行 ASP,ASP.NET,PHP,SHELL,PYTHON,PERL shell: 弱类型编程语言强类型: 变量在使用前,必须事先声明,甚至需要初始化弱类型: 变量用时声明,甚至不区分类型 bash变量类型: 环境变量:作用域为当前shell进程及其子进程 export…
Shell 变量的作用域(Scope),就是 Shell 变量的有效范围(可以使用的范围). 在不同的作用域中,同名的变量不会相互干涉,就好像 A 班有个叫小明的同学,B 班也有个叫小明的同学,虽然他们都叫小明(对应于变量名),但是由于所在的班级(对应于作用域)不同,所以不会造成混乱.但是如果同一个班级中有两个叫小明的同学,就必须用类似于“大小明”.“小小明”这样的命名来区分他们. Shell 变量的作用域可以分为三种: 有的变量可以在当前 Shell 会话中使用,这叫做全局变量(global…
shell中特殊位置参数变量:$0.$n.$#.$*.$@ $0:获取当前执行shell脚本文件名,如果执行脚本包含路径,那么就包括脚本路径 $n:获取当前执行shell脚本的第n个参数值.n=1..9,当n为0时表示脚本文件名:如果n大于9,则用大括号括起来,例如${10},接的参数以空格隔开 $#:获取当前执行的shell脚本后面接的参数个数 $*:获取当前shell脚本所有传参的参数,不加引号和$@相同:如果给$*加上双引号,例如:“$*”,则表示将所有的参数视为单个字符串,相当于“$1…
Shell学习之Bash变量详解 目录 Bash变量 Bash变量注意点 用户自定义变量 环境变量 位置参数变量 预定义变量 Bash变量 用户自定义变量:在Bash中由用户定义的变量. 环境变量:这种变量中主要保存和系统操作环境相关的数据. 位置参数变量:这种变量主要是用来向脚本当中传递参数或数据的,变量名不能自定义,变量作用是固定的. 预定义变量:是Bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的. Bash变量注意点 1.变量名称可以由字母.数字和下划线组成,但是不能以数字…
前言: 大家对shell脚本应该都不算陌生了,如果突然问你什么是shell脚本?是干什么用的?由什么组成以及怎么使用?变量的概念是什么?作用范围是什么?变量间的算术运算怎么表示?你能很容易答出来吗 本文整理自博主当年的学习笔记,若有疏漏欢迎指正! Shell编程规范与变量 学习目标: 掌握shell脚本编程规范 掌握管道,重定向,变量 目录结构: Shell脚本的概念 将要执行的命令按顺序保存到一个文本文件 给文件可执行权限,便可运行. 可以结合各种shell控制语句以便完成更复杂的操作 脚本文…
一.Shell脚本 1.Shell脚本的建立 由Linux命令.shell命令.程序结构控制语句和注释等内容组成. 脚本第一行 #!/bin/bash #!字符称为幻数,内核会根据它后面的解释器来确定该用什么程序解释脚本 bash与sh的区别 sh为bash的软连接,多数情况下无区别 [xiaoda@codis-178 ~]$ ll /bin/sh lrwxrwxrwx. 1 root root 4 Mar 4 2016 /bin/sh -> bash [xiaoda@codis-178 ~]$…
一.Crond 是什么?(概述) crontab 是一款linux系统中的定时任务软件用于实现无人值守或后台定期执行及循环执行任务的脚本程序,在企业中使用的非常广泛.     现在开始学习linux计划任务程序吧. crontab的优势: 可以实现24小时或定期执行任务,非常高效实用,几乎是每个企业都会用到的服务,同时 crond服务是运行的程序,而crontab命令是用户用来设置定时规则的命令.(crontab -e 新建一个计划任务)       #注: http://blog.csdn.n…