本篇文章给大家分享的是有关linux中的shell脚本如何编写,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
1、一个规范的Shell脚本在第一行会指出由哪个程序(解释器)来执行脚本中的内容,这一行内容在Linux bash的编程一般为:#!/bin/bash 或 #! /bin/sh
bash 与 sh 的区别:sh 为 bash的软连接,大多数情况下,脚本使用“#!/bin/bash”和“#!/bin/sh”是没有区别的,但更规范的写法是在脚本的开头使用 #!/bin/bash
2、在shell脚本中,跟在 # 后面的内容表示注释,用来对脚本进行注释说明,注释部分不会被当做程序来执行,仅仅是给开发者和使用者看的,系统解释器是看不到的,更不会执行。注释可以自成一行,也可以跟在脚本命令的后面与命令在同一行。 注释尽量不要使用中文,在脚本中最好也不要有中文。
3、Shell脚本的开头会加版本、版权等信息,如:
# Date:16:29 2018-10-20 # Author: Create by xiaoxie # Description: This script function is …… # Version: 1.1
4、在shell脚本中尽量不用中文注释,尽量用英文注释,防止本机或切换系统环境后中文乱码的困扰。
5、Shell脚本的命名应以.sh为扩展名 例如:1.sh
6、成对的符号应尽量一次性写出来,然后退格在符号内增加内容,以防止遗漏。这些成对的符号包括: {}、[]、‘’、“” 等
7、中括号[]两端至少要有1个空格,因此,键入中括号时即留出空格[ ],然后在退格键入中间内容,并确保两端都至少由一个空格。
8、对于流程控制语句,应一次性将格式写完,再添加内容。 如:一次性完成for循环语句的格式
for do 内容 done
9、通过缩进让代码更易读,如:
if 条件内容 then 内容 fi
10、对于常规变量的字符串定义变量值应加双引号,并且等号前后不能有空格,需要强引用的,则用单引号(‘’),如果是命令的引用,则用反引号(``)。
11、 脚本中的单引号、双引号及反引号必须为英文状态下的符号。
定义变量时变量名建议用大写,如 A=xie B=99
查看变量内容 echo $A 或 echo ${A}
双引号:允许通过$符号引用其他变量值
单引号:禁止引用其他变量值,$视为普通字符
反撇号:命令替换,提取命令执行后的输出结果 全局变量的定义方法 export 变量名
位置参数我们写脚本时候经常使用,比如脚本名称后面紧接着是空格加变量,空格加变量这种方式,其实就是带参数。
位置参数是一种在调用 Shell 程序的命令行中按照各自的位置决定的变量,是在程序名之后输入的参数。 位置参数之间用空格分隔,Shell取第一个位置参数替换程序文件中的 $1,第二个替换 $2 , 依次类推。
注意:$0 是一个特殊变量,它的内容是当前这个shell程序的文件名,所以 $0 不是一个位置参数。
#! /bin/bash echo $1 echo $(($2+$3))
当我执行时,我在文件名后加3个参数
预定义变量和环境变量相类似,也是在Shell一开始就定义的变量,不同的是,用户只能根据shell的定义来使用这些变量,所有预定义变量都是由符号“$”和另一个符号组成。 常见的Shell预定义变量有以下几种。
$# :位置参数的数量
$* :所有位置参数的内容
$? :命令执行后返回的状态,0表示没有错误,非0表示有错误
$$ :当前进程的进程号
$! :后台运行的最后一个进程号
$0 :当前执行的进程名
假如我现在有一个 1.sh脚本文件,内容如下
#! /bin/bash echo $1 echo ${2}+${3} echo $# #打印出位置参数的数量 echo $* #打印出位置参数的内容 echo $? #打印出命令执行后返回的状态 echo $$ #打印出当前进程的进程号 echo $0 #打印出当前进程的进程名
当我执行时,我在文件名后加3个参数
1、Shell中常见的算术运算符
2、Shell 中常见的算术运算命令
3、双小括号 (()) 数值运算命令的用法
双小括号 (()) 的作用是进行数值运算与数值比较,它的效率很高,用法灵活,是Linux下常用的运算操作符。其操作方法如下:
###双条件判断##### if 条件判断 then 命令 elif 条件判断 then 命令 else 命令 fi ##或 if 条件判断;then 命令 elif 条件判断;then 命令 else 命令 fi
if语句对于字符串的匹配
for 条件 do 命令 done ##或 for 条件;do 命令 done
while 条件 do 命令 done
break 、continue在条件语句及循环语句(for、while、if等)中用于控制程序走向;而exit则用于终止所有语句并退出当前脚本。
以上就是linux中的shell脚本如何编写,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。