shell脚本菜鸟教程(shell脚本入门到精通)
shell脚本菜鸟教程(shell脚本入门到精通)
2024-11-22 12:39:28  作者:解開伱褲帶  网址:https://m.xinb2b.cn/sport/pcm449249.html

#前言:良好的书写规范和书写习惯,会让我们减少很多不必要的麻烦,可以提高我们的效率,现在小编就来说说关于shell脚本菜鸟教程?下面内容希望能帮助到你,我们来一起看看吧!


shell脚本菜鸟教程

#前言:

良好的书写规范和书写习惯,会让我们减少很多不必要的麻烦,可以提高我们的效率!

1.基本的规范

#1.1.开头指定脚本解释器

#!/bin/bash 或 #!/bin/sh

#1.2.开头加版本版权等信息

#Date: 20:20 202-3-5

#Author:create by oldIT

#Mail: 123321@qq.com

#Function: This scripts function.....

#Version:2.1

#时间、作者、邮件、功能、版本

#1.3.脚本中不用中文注释

尽量用英文注释,防止出现乱码

#1.4.脚本以.sh为扩展名

例如:webstart.sh

#1.5.脚本应该存放在固定的路径下

如:/data/scripts/

#创建shell脚本程序的步骤

#第一步:创建一个包含命令和控制结构的shell文件,以.sh为扩展名

#第二步:修改这个文件权限使它可以执行修改方式:chmod u x 文件名

#第三步:执行方法

1:./example方法

2:bash 文件方法

3:source 文件

2.良好的书写习惯

#2.1.成对的符号应尽量一次性写出,然后退格在符号里增加内容,防止遗漏

如:{} [] '' ""

#2.2.中括号[]两端至少要有1个空格,输入技巧:先输入一对中括号,然后退一个格,输入两个空格,再退一格,双中括号[[]]也是这样写

[ name ]

[[ name ]]

#2.3.对于流程控制语句应该一次性将格式写完,再添加内容

#比如1:写if语句

if 条件内容 then 内容fi

#比如2:for循环语句

for do 内容done#提示:while,case和until等语句也是一样

#2.4.通过缩进让代码更易读(tab键)

if 条件内容 then 内容fi

#2.5.字符串赋值给变量应加双引号,并且等号前后不能有空格

如:my_file="test.txt"

#2.6.脚本中的单引号、双引号及反引号,必须为英文状态下的符号

'',"",``

#提示:前面为英文输入法状态下的符号。

3.shell脚本变量命名及引用变量规范

#3.1.全局变量命名

概述:全局变量也称环境变量,定义变量应该全部大写,如APACHE_ARE或APACHEARE,名字对应的内容要尽量明白,多个单词之间可以使用"_"号连接,全局变量的定义一般放在系统的全局路径中,采用export来定义

#示例

[root@game ~]# tail -1 /etc/profile

export NGINX_ERR="Hello Word"

[root@game ~]# source /etc/profile

[root@game ~]# echo $NGINX_ERR

Hello Word

#3.2.局部变量命名

概述:局部变量也称普通变量,在常规的脚本中,普通变量的命令尽量也进行统一,可以使用驼峰语法,就是第二个单词的首字母大写,如guoKenew,或者每个单词首字母大写,或全部大写或全部小写的方式,选择自己适合的。

在shell函数中的变量可以使用local方式进行定义,使其只在本函数作用域内生效,防止函数中的变量名与外部程序中的变量相同,从而造成程序异常

#示例

[root@game ~]# cat 1.sh #!/bin/bash n=5 IT(){ local a for ((a=0;a<n;a )) do echo 'guoke' done }IT

#3.3.变量的引用规范

概述:在引用变量的时候,如果变量前后都有字符,则需要使用${DIR},加大括号的方式引用变量,防止出现问题。当变量内容为字符串时,需要使用"${DIR}",外面加引号的方式引用变量。当变量为整数时,可以直接使用$DIR来引用变量,全局变量,局部变量,函数变量,数组变量都是这样。

说明:对于需要环境变量的java程序脚本等,在写脚本之前,最好通过export重新声明环境变量,以免在定时任务等场合中出现问题

4.shell函数的命名及函数定义规范

概述:shell函数的命名可以使用单词字母首写的形式,如CreateDir(),可以语义清晰,如可以使用CreateDir()替代CDir(),也可以小写形式createdir()。这有益对函数功能的理解,使函数更加直观清晰。

  • 安徽拌面做法和配方(如何做拌面和配方)
  • 2024-11-22如何做拌面和配方材料:面条2两、葱一把、酱油4勺、盐适量葱切段备用色拉油倒入锅中,稍稍加热至温热,放入切好的香葱段中小火熬制葱油,捞出葱段,油倒入碗中备用将面条煮熟,将煮好的面过凉,捞出沥干水分加入1勺葱油,放入些炸。
  • 拔牙后可以喝咖啡吗(拔牙后能喝咖啡吗)
  • 2024-11-22拔牙后能喝咖啡吗拔牙以后可以喝咖啡,一般咖啡可以使拔牙创口内的血管收缩,可以帮助止血但是不能喝热咖啡,如果喝热咖啡会引起拔牙创口内的血管扩张,使血管内刚刚形成的血栓脱落,会使血管再次发生出血如果再次出血以后出血量比较。
  • 上海美食攻略必去的地方(一定要吃的50道经典美味)
  • 2024-11-22一定要吃的50道经典美味来上海玩,到底吃什么才是最地道?单《来上海一定要吃的50道经典美食》,统统吃完才算真的来过上海!鲜肉月饼刚出炉的鲜肉月饼捧在手里热乎乎的,饼皮吃起来一层一层香酥可口小怪觉得最棒的就是月饼里的肉馅了,咸。
  • 感冒嗓子发炎失声严重吗(感冒嗓子疼竟失声了)
  • 2024-11-22感冒嗓子疼竟失声了红网长沙3月9日讯(时刻新闻记者周曼通讯员黄东海)近期,《我是歌手4》歌手们相继生病影响发声,从张信哲带病献唱,到信带病登台被淘汰,李克勤、黄致列、李玟也纷纷中招不过,保护嗓子也不是歌手的专利,普通人。
  • 激励自己努力的名言(努力的范文)
  • 2024-11-22努力的范文人若软弱就是自己最大的敌人;人若勇敢就是自己最好的朋友如果你想得到,你就会得到,你所需要付出的只是行动光说不干,事事落空;又说又干,马到成功对于每一个不利条件,都会存在与之相对应的有利条件勤奋,是步入。
  • 西安在古代叫什么(十三朝古都西安)
  • 2024-11-22十三朝古都西安春风得意马蹄疾,一日看尽长安花西安,一座王朝更迭无数,古迹遗留遍地的城市,老秦人操着率真的陕西方言,就连城墙根儿上也弥漫着劲道十足的秦腔,伴着油泼辣子熏过……再次感谢您选乘本次班机,下次旅途,十三朝古。
  • 家里为什么风水突然不好了(若发现家里有出现这些状况)
  • 2024-11-22若发现家里有出现这些状况若发现家里有出现这些状况,万万别大惊小怪,暗喻你家要走大运了我们都知道,买房是大事,买房之后,对房子的装修设计也是非常重要的事,它影响着我们今后几十年的生活,所以不管是买房还是装修布置,都要多了解一些。
  • 一个塘怎么同时养鱼和养鸭(鱼塘养鸭中对养鱼的定义)
  • 2024-11-22鱼塘养鸭中对养鱼的定义说到鱼塘养鸭中对养鱼的定义,各个鱼塘由于老板的思路不同,定义也是千差万别所谓思路决定出路,不同的想法出路也各不相同我认为正确的思路是把鱼塘当做银行,养鸭赚到钱了,投入鱼塘,增加养殖密度和养殖更优品种,。
  • 皓镧传李皓镧结局(皓镧传篡改历史)
  • 2024-11-22皓镧传篡改历史说起最近的热播剧,就不得不题《皓镧传》话说于正刚刚凭借《延禧攻略》赚回了一些口碑,《皓镧传》一开播又将他打回原形,原来于妈还是那个于妈,还是那个篡改历史无下限的于妈《皓镧传》打出的招牌无非又是近年大火。