本文以示例和注释的方式,对Shell编程的基本知识点进行了总结和回顾,所有脚本均已做了基本的调试和验证. Shell - 简明Shell入门 01 - 第一个脚本 脚本的定义.执行方法以及echo命令. 02 - 变量 变量的定义.分类和读取方法. 03 - 字符串 字符串的拼接.截取.匹配和替换方法. 04 - 判断 利用if/else语句进行流程控制和test命令进行条件测试. 05 - 条件 利用case语句进行流程控制以及注意事项. 06 - 循环语句 利用for循环.while循环.u…
示例脚本及注释 #!/bin/bash echo "hello shell!" # 打印字符串"hello shell!" echo "Date: " `date` # 显示命令执行结果 echo "\"It is a test!\"" # \ 转义字符 echo '\"It is a test!\"' # 在单引号中原样输出字符串,不进行转义或取变量 echo -e "Pas…
本文是对Shell脚本编程的总结和回顾,所有涉及的脚本均已做了基本的调试和验证. [toc] 测试环境信息 [root@CentOS7 ~]# uname -a Linux CentOS7 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux [root@CentOS7 ~]# [root@CentOS7 ~]# cat /etc/redhat-release CentOS…
示例脚本及注释 #!/bin/bash function Check() # 使用function定义函数 { Say # 通过函数名直接调用函数 if test $1 then return 0 # 使用return语句返回值: else echo "Command not implemented for that parameter!" exit 2 # 退出当前shell,并设置退出码为2: fi } Say() # 直接定义函数 { echo "This is a t…
示例脚本及注释 主脚本: CallTheScript.sh #!/bin/bash . ./11-subscript.sh # 调用其他脚本;注意点号"."和文件路径之间有一空格; # source ./11-subscript.sh # 调用其他脚本 echo -e ${string} # 使用其他脚本定义的变量 showtest # 使用其他脚本定义的函数 exit 0 # 以指定的状态值退出shell:状态值0代表执行成功,其他值代表执行失败: # ### 通过source或&q…
示例脚本及注释 #!/bin/bash echo "No code, just some comments." # ### 通配符 # * 代表任意(0个或多个)字符 # ? 代表任意1个字符 # [abc] 匹配括号中任意一个字符 # [!abc] 不匹配括号中任意一个字符,等价于[^abc] # [a-z] 匹配括号中字符范围内的任意一个字符 # {a,b,c} 生成序列,以逗号分隔,且不能有空格 # {a..z} 生成指定范围的序列 # ### 参数变量 # $0 当前shell…
示例脚本及注释 1 - arguments #!/bin/bash if [ -n "$1" ];then # 验证参数是否传入 echo "The first parameter is ${1}." else echo "No arguments!" fi echo '$0 当前shell脚本的名称:' $0 echo '$0 当前shell脚本的PID:' $$ echo '$* 当前shell脚本的所有参数:' $* echo '$@ 当前…
示例脚本及注释 #!/bin/bash v1=test-variable_123 # 全局变量 v2=12345 v3='This is a test!' # 赋值语句使用单引号或双引号可以包含空格 v4="Test again!" testfun() { local v5=67890 # 局部变量 echo "局部变量:" $v5 } echo $v1 # "$<变量名>"方式使用变量 echo $v2 echo $v3 echo…
示例脚本及注释 #!/bin/bash -x for filename in t1 t2 t3 do touch $filename.txt echo "Create new file: $filename.txt" done for rmfile in *.txt; do rm $rmfile; echo "Delete $rmfile!"; done; # set -x for filelist in `ls /root` do echo "filen…
示例脚本及注释 #!/bin/bash echo -e "\033[32m" # 设置输出属性,绿色字体 echo "This is a test!" echo -e "\033[0m" # 设置输出属性,恢复默认值 echo -e "\033[31m Hello Color! \033[0m" # 输出指定颜色字体 # echo -e :激活终端对反斜线转义符(\)的解释 # \033 :引导非常规字符序列(这里是引导设置输…
示例脚本及注释 #!/bin/bash pwd > 1.log # 输出重定向到指定文件 date 1> 1.log # ">"与"1>"作用相同:覆盖指定文件的原有内容 date >> 1.log # 追加内容到指定文件的末尾 echo "1.log: " `cat 1.log` echo -e "one\ntwo\nthree" > 2.log echo "Number…
示例脚本及注释 #!/bin/bash test0=() # 定义数组 test1=(a b c d e f) # 定义数组 test2=( # 定义数组 'A?' "BB!" CCC ) test1[0]=000 # 单独定义数组的元素,重定义元素 test1[1]=111 test1[2]=222 test1[6]=ggg # 单独定义数组的元素,添加元素 test1[9]=999 # 可以使用不连续的下标,而且下标的范围没有限制 echo '读取指定下标的元素 ${test1[0…
示例脚本及注释 #!/bin/bash var=$1 # 将脚本的第一个参数赋值给变量var if test $var # test - check file types and compare values then if [ $var == "right" ];then # "[]"是调用test命令的一种形式,"[]"两边必须加空格; echo "Right!" elif test $var = "wrong&…
示例脚本及注释 #!/bin/bash str="Shell" str2="Hello $str !" str3="Hello ${str} !" echo "拼接字符串: $str2" echo "拼接字符串: $str3" test1="一二三四五六七八九零" echo "截取test1: " $test1 echo '${#var},返回变量字符串长度:' ${…
示例脚本及注释 #!/bin/bash echo '##### Number of *.conf : ' find /etc -name *.conf | grep system | wc -l echo '##### *user.conf : ' find /etc -name *user.conf echo '##### *user.conf - xargs : ' find /etc -name *user.conf | xargs # find /etc -name *user.conf…
示例脚本及注释 #!/bin/bash # for循环 for filename in t1 t2 t3 do touch $filename.txt echo "Create new file: $filename.txt" done for rmfile in *.txt; do rm $rmfile; echo "Delete $rmfile!"; done; # 写成一行的方式 for filelist in `ls /root` # 循环显示/root目录…
示例脚本及注释 #!/bin/bash var=$1 # 将脚本的第一个参数赋值给变量var case $var in right) echo "Right!";; wrong) echo "Wrong!";; nothing | *) # "|"逻辑或 echo "Nothing";; esac # ### case多选择语句 # - 条件较多时, 可以选择使用case多选择语句: # - 取值尝试匹配预定的模式,如果匹配成…
shell脚本编程入门 编程语言介绍 编程语言分为:机械语言.汇编语言和高级语言: 计算机能识别的语言为机械语言,而人类能学习的并且能够方便掌握的为高级语言,所以,我们所编写的程序就要通过编译来转换成为计算机能识别的机械语言来运行,这个过程我们叫做编译.所以,我们能够学习的一般都为高级语言: 高级语言又分为两种:静态语言和动态语言: 静态语言:编译型语言,例如C.C++.JAVA.C#等,这种语言所编写的程序,在程序开始运行前就会将程序所有的代码编译完成,再一起执行: 动态语言:解释型语言,例如…
写在开头 本文是阅读<Linux命令行与shell脚本编程大全>时的一些笔记,主要是shell脚本的一些基本语法, 还有很多细节和高级内容没有写到. 笔者也是shell script菜鸟,如有不当欢迎指正. shell脚本从入门到精通(初级)之入门篇 shell脚本从入门到精通(中级)之提高篇 目录: 一.变量 二.数学计算 三.逻辑控制 四.输入 五.输出 六.函数 七.控制脚本 一.变量 1. 环境变量 #!/bin/bash # 环境变量 echo "User Info:&qu…
6.shell函数    6.1.定义函数        简介:            shell允许将一组命令集或语句形成一个可用块,这些块成为shell函数        定义函数的格式            方法一                函数名()                {                    命令1                    ......                }            方法二                funct…
case case语句不用多说和c++里一样,用作选择,但是linux的case语句在语法上和c++还是有些不同的. ###########This is program test the Case################## ######## cxz ############# 2015 5 12 ############### read -p "type in 1 2 3, nothing more " input; case $input in "1"…
shell学习总结之自定义函数 Myfun (){ echo -n "now i is $i " ! [ "$i" ] && exit ; echo jj return ' } myf=$(Myfun); echo myf Myfun unset Myfun Myfun echo 'the end !'$myf 别人的 #! bin/bash # ----------------------------------------------------…
bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 1.1 shell函数 在shell中,函数可以被当作命令一样执行,它是命令的组合结构体.可以将函数看成是一个普通命令或者一个小型脚本. 首先给出几个关于函数的结论: (1).当在bash中直接调用函数时,如果函数名和命令名相同,则优先执行函数,除非使用command命令.例如:定义了一个名为rm的函数,在bash中输入rm执行时,执行的是rm函数,而非/bin/rm…
目录 基本语法 函数执行 函数示例     函数可以简化程序的代码量,达到更好的代码复用度,因此会让程序变得更加易读.简洁和易修改.其作用就是将需要多次使用的代码整合到一块,使其成为一个整体,然后通过函数名即可完成调用. 基本语法 function functionName () { 语句 return n } 其他简化写法如下 function functionName { 语句 return n } 或 functionName () { 语句 return n } 建议采用非简化的书写方式…
1 区分大小写 UNIX是区分大小写的,因此shell脚本也是区分大小写的 2 特殊字符 UNIX的某些字符都有特殊的意义或功能,如果它们不以其特殊的意义使用必须要进行转义(escaped). 为了转义它们需要用反斜杠或者单引号括起来. 3 shell shell(命令行解释器)是一个能够用来运行命令.程序和shell脚本的环境. 4 shell脚本 shell脚本就是命令的有机组合. shell脚本和函数都是解释型的,ASCII文本,不能被编译. 5 函数 函数的编写和脚本的编写类似,不同之处…
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://twentyfour.blog.51cto.com/945260/525126 知识体系: #创建函数 #使用参数 #共享函数 shell脚本代码可以封装在函数内,而函数可以在脚本任意处使用,由此减少大段代码的重复编写. 1.基本脚本函数 函数是被赋予名称的脚本代码块,可以在代码的任意位置使用.当需要调用代码块的时候,只需引用代码块被赋予的函数名即可. 1.1.创建函数 在bas…
阿里云大学 shell脚本从入门到精通 第1 章 : shell脚本编程-变量-算术表达式-判断语句-if分支语句 第2 章 : case-for-While-双括号-循环嵌套-break-continue 第3 章 : shift命令-shell函数-shell脚本实战 第4 章 : 正则表达式-awk-sed使用方法…
1. 前言 1.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具,Linux/UNIX系统的底层及基础应用软件的核心大部分涉及Shell脚本的内容.每一个合格的Linux系统管理员或运维工程师,都需要熟练的编写Shell脚本语言,并能够阅读系统及各类软件附带的Shell脚本内容.只有这样才能提升运维人员的工作效率,适应日益复杂的工作环境,减少不必要的重复工作,从而为个人的职场发展奠定较好的基础. 1.2 学好Shell编程所需的基础知…
JavaScript入门-函数function(二) 递归函数 什么是递归函数? 递归简单理解就是,在函数体里,调用自己. //我们在求一个10的阶乘的时候,可能会这么做 //写一个循环 var total = 1 for(var i=10; i>=1; i++){ total *= i ; } 这样的for循环简单直接...大家都会写 但是,我们可以写一个函数,递归调用 //递归函数 function jiecheng( n ){ if ( 1===n) return 1 return n*j…
从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作.在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用.深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修 功课之一. Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh).Bourne…