温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Shell脚本编写的示例分析

发布时间:2021-09-10 17:36:35 来源:亿速云 阅读:174 作者:柒染 栏目:大数据

这期内容当中小编将会给大家带来有关Shell脚本编写的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

1基础:

Shell 是一个 C 语言编写的脚本语言,是一个命令行界面;

它是用户与 Linux 的桥梁,用户输入命令交给 Shell 处理, Shell 将相应的操作传递给内核(Kernel),内核把处理的结果输出给用户。

bash是shell(语言)的一种

Shell脚本编写的示例分析

  1. 第一行指定解释器    #!/bin/bash 

  2. 在当前终端生成一个子bash去执行脚本(除了source)

  3. 脚本执行方法

    1. bash test.sh           (/bin/sh 一般软连接向/bin/bash;/bin/sh 相当于 /bin/bash --posix,所以,sh跟bash的区别,实际上就是bash有没有开启posix模式的区别)

    2. ./                          (添加可执行权限 chmod +x tesh.sh)

    3. source test.sh        (不生成子bash在当前bash执行)

1.1变量

1.1.1系统变量

Shell脚本编写的示例分析

1.1.2普通变量和临时环境变量

普通变量:var=value

临时环境变量:export var=value

作用域:

普通变量:当前shell

临时环境变量:当前shell和子shell    (bash)

环境变量文件:

系统级别:

/etc/profile:系统范围内的环境变量和启动文件

/etc/bashrc:系统范围内的函数和别名

1.1.3位置变量

$1 - $n 

  • 引号内也可引用

  • shift 可吞噬一个变量,后面的变量前移

Shell脚本编写的示例分析

运行时:

Shell脚本编写的示例分析

1.1.4特殊变量

Shell脚本编写的示例分析

1.1.5变量引用

变量引用:$+变量名        (特殊情况${变量})

在双引号中可识别特殊字符,单引号中不能识别特殊字符保持原样

1.2注释

#

2 Shell字符串处理:${}

2.1获取字符串长度:${#var}

Shell脚本编写的示例分析

2.2字符串切片:${var:start:length} 

Shell脚本编写的示例分析

2.3替换字符串:${var/old/new}

Shell脚本编写的示例分析

old前面:/——匹配第一个字符串;//——匹配所有字符

${VAR//[^0-9]/}:将VAR中所有非数字替换为空

2.4字符串截取

#    去掉左边,最短匹配;##    最长匹配

%    去掉右边,最短匹配;%%    最长匹配

*    匹配去掉的字符

Shell脚本编写的示例分析

2.5变量状态赋值

${VAR:-string}       如果 VAR 变量为空则返回 string

${VAR:+string}      如果 VAR 变量不为空则返回 string

${VAR:=string}      如果 VAR 变量为空则重新赋值 VAR 变量值为 string

${VAR:?string}       如果 VAR 变量为空则将 string 输出到 stderr

Shell脚本编写的示例分析

3 Shell表达式和运算符

3.1条件表达式

Shell脚本编写的示例分析

3.2整数比较符

Shell脚本编写的示例分析

3.3字符串比较符

Shell脚本编写的示例分析

Shell脚本编写的示例分析

Shell脚本编写的示例分析

&&:前面的为真执行后面的

||:前面的为假执行后面的

3.4文件测试

Shell脚本编写的示例分析

Shell脚本编写的示例分析

3.5布尔运算符

Shell脚本编写的示例分析

3.6逻辑判断符

Shell脚本编写的示例分析

3.7整数运算

Shell脚本编写的示例分析

$(()):三目运算符:真——返回右边;假——返回左边

Shell脚本编写的示例分析

3.8 Shell中括号的作用

Shell脚本编写的示例分析

4 Shell流程控制

4.1 if

单分支:

if 条件; then
    命令
fi

Shell脚本编写的示例分析

双分支:

if 条件; then
    命令
else
    命令
fi

Shell脚本编写的示例分析

多分支:

if 条件; then
    命令
elif 条件; then
else
    命令
fi

Shell脚本编写的示例分析

4.2 for

for 变量名 in 取值列表; do
    命令
done

Shell脚本编写的示例分析

4.3 while

while 条件; do
    命令
done

#逐行读取文件内容

Shell脚本编写的示例分析

4.4 break和continue

break:终止循环

continue:跳出当前循环

4.5 case

case 模式名 in
          模式1)
                 命令
                  ;;
          模式2)
                 命令
                  ;;
           *)
                 不符合上述时执行命令
esac

Shell脚本编写的示例分析

上述就是小编为大家分享的Shell脚本编写的示例分析了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI