本文以示例和注释的方式,对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 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 echo "No code, just some comments." # ### 通配符 # * 代表任意(0个或多个)字符 # ? 代表任意1个字符 # [abc] 匹配括号中任意一个字符 # [!abc] 不匹配括号中任意一个字符,等价于[^abc] # [a-z] 匹配括号中字符范围内的任意一个字符 # {a,b,c} 生成序列,以逗号分隔,且不能有空格 # {a..z} 生成指定范围的序列 # ### 参数变量 # $0 当前shell…
示例脚本及注释 #!/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…
示例脚本及注释 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 echo -e "\033[32m" # 设置输出属性,绿色字体 echo "This is a test!" echo -e "\033[0m" # 设置输出属性,恢复默认值 echo -e "\033[31m Hello Color! \033[0m" # 输出指定颜色字体 # echo -e :激活终端对反斜线转义符(\)的解释 # \033 :引导非常规字符序列(这里是引导设置输…
示例脚本及注释 主脚本: CallTheScript.sh #!/bin/bash . ./11-subscript.sh # 调用其他脚本;注意点号"."和文件路径之间有一空格; # source ./11-subscript.sh # 调用其他脚本 echo -e ${string} # 使用其他脚本定义的变量 showtest # 使用其他脚本定义的函数 exit 0 # 以指定的状态值退出shell:状态值0代表执行成功,其他值代表执行失败: # ### 通过source或&q…
示例脚本及注释 #!/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…