本文主要介绍shell脚本语言的使用,通过示例代码非常详细的介绍,对大家的学习或者工作有一定的参考价值。让我们和边肖一起为有需要的朋友学习吧。
目录
1、shell概述2、脚本调用形式3、shell语法介绍4、变量5、预置变量6、变量扩展7、条件测试8、控制语句9、函数
1、shell的概述
Shell是一种脚本语言。
脚本:本质上,它是一个文件,其中存储了特定格式的指令。系统可以使用脚本解析器来翻译或解析指令并执行它们(不需要编译)。
Shell既是应用程序,也是脚本语言(应用程序解析脚本语言)。
命令解析器:
系统提供了一个shell命令解析器:sh ash bash
检查您的linux系统的默认分辨率:echo $SHELL
Shell脚本是一种脚本语言。我们只需要使用任何文本编辑器,根据语法编写相应的程序,增加可执行权限,就可以在安装了shell命令解释器的环境下执行。
2、脚本的调用形式
终端打开,系统自动调用:/etc/profile或~/。bashrc
/etc/profile
该文件为系统的每个用户设置环境信息。当用户第一次登录时,这个文件被执行,系统的公共环境变量在这里被设置。
从程序开始,一般也在这里设定。
~/.bashrc。用户主目录中的bashrc
它会在登录和打开任何终端时自动调用。
这个文件一般设置与个人用户相关的环境变量,比如交叉编译器的路径等等。
用户手动调用:用户实现的脚本。
3、shell语法初识
3.1.定义以:#!/bin/bash
#!用于声明脚本由哪个shell解释,否则使用默认shell。
3.2.单个“#”符号表示注释当前行的第一步:编写脚本文件。
步骤2:添加可执行权限。
chmod x xxxx.sh
第三步:跑步。
三种执行方式 (./xxx.sh bash xxx.sh . xxx.sh)
三种执行方法的区别(。/xxx.sh bash xxx.sh. xxx.sh)
./xxx.sh :先按照 文件中#!指定的解析器解析
如果#!只有当指定的解析器不存在时,才会使用系统默认解析器。
bash xxx.sh:指明先用bash解析器解析
如果bash不存在,将使用默认的解析器。 xxx.sh 直接使用默认解析器解析
三种实施情况:(重要)
注意:windows脚本在linux下执行。注意
执行结果:
将windows文件转换为unix文件
方法1:如果没有要安装的插件,则使用dos2unix
sudo apt-get安装dos2unix
Dos2unix shell脚本
如果转换成功,就可以执行操作。
方法二:
您需要用vi打开脚本,并在最后一行模式下执行它。
:设置ff=unix
4、变量
已定义变量
变量名=变量值
例如num=10
基准量
$变量名
取消设置:清除变量值
运行结果:
获取从键盘读取的值
运行结果:
案例:
在一行中显示和添加提示需要添加-p。
运行结果:
场景:读取多个值
运行结果:
只读案例变量:
运行结果:
查看环境变量:env
导出环境变量(该变量被其他shell识别)
脚本文件
源的命令用法:
源文件名
角色:在当前bash环境中读取并执行FileName中的命令。
注意:该命令通常由命令“.”替换。
比如源。bash_rc相当于.bash_rc。
注意:源命令和shell脚本之间的区别在于,
在当前bash环境中执行命令,而脚本启动一个子shell来执行命令。这样,如果命令设置环境变量(或别名等。)写入脚本,它只会影响子shell,并不能改变当前的BASH。因此,当通过文件(命令行)设置环境变量时,应该使用source命令。
可以在终端中读取:
读入其他sh脚本:
运行结果:
注意事项:
1.变量名只能包含英文字母下划线,不能以数字开头。
1_num=10错误
数字1=20是正确的
2.空格不能直接连接到等号的两边。如果变量本身包含空格,整个字符串应该用双引号或单引号括起来。
3.双引号和单引号的区别
双引号:您可以解析变量的值。
单引号:无法解析变量的值。
运行结果:
如果要在PATH变量后面追加一个路径,就这样写:(重要!)
导出路径=$PATH:/要添加的路径
5、预设变量
Shell直接提供了不需要定义的变量。
案例:
运行结果:
脚本标量的特殊用法
Add -e escape断行。
()是由子壳完成的。
{}由当前外壳执行
6、变量的扩展
6.1.确定变量是否存在。
6.2、字符串操作
7、条件测试
命令:用于测试字符串、文件状态和数字。
测试命令有两种格式:
测试条件或[条件]
使用方括号时,注意在条件两边加空格。
7.1、文件测试
7.2、字符串测试
7.3、数值测试
7.4、符合语句测试
8、控制语句
8.1、if控制语句
格式1:
if[条件1];然后
执行第一个程序。
其他
执行第二个过程。
船方不负担装货费用
格式2:
if[条件1];然后
执行第一个程序。
elif[条件2];然后
执行第二个过程。
其他
执行第三个程序。
船方不负担装货费用
案例:
案例:如果当前路径有文件夹,进入创建文件;如果没有,创建文件夹并输入创建文件。
运行结果:
案例:
运行结果:
8.2、案例
8.3,for循环语句
案例:
案例:扫描当前文件
8.4、当
8.5、直到
8.6、休息继续
9、函数
所有的函数在使用前都必须定义,函数必须放在脚本的开头,直到shell解释器第一次找到它才能使用。
案例:寻找最大值
案例:函数文件
fun.sh
24_sh.sh
关于shell脚本语言使用的这篇文章到此为止(超全超详细)。更多相关的shell脚本语言内容,请搜索我们之前的文章或者继续浏览下面的相关文章。希望大家以后能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。