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

Linux 编写Shell脚本

1.Shell脚本命令的工作方式: 交互式:用户每输入一条命令就立即执行。...批处理:用户事先编好一个完整的Shell脚本,Shell会一次性执行脚本中的诸多命令 2.接收用户参数 $#总共几个参数,$*所有位置的参数值,$1,$2...第几个参数值 3.判断用户的参数 条件测试语句的执行格式...:[条件表达式] 测试语句4种: 文件测试语句 逻辑测试语句 整数值比较语句 字符串比较语句 文件测试即使用指定条件来判断文件是否存在或权限是否满足等情况运算符...文件测试所用参数: 运算符 作用 -d 测试文件是否为目录类型 -e 测试文件是否存在 -f 判断是否为一般文件 -w 测试当前用户是否有权限写入 -x 测试当前用户是否有权限执行 -r 测试当前用户是否有权限读取...$user = root ] && echo "user" || echo "root" root 判断当前用户是否为非管理用户,成立的话输出 user 不成立就输出root 可用的整数比较运算符 运算符

2.7K10

Linux编写Shell脚本

Linux编写Shell脚本 目录 Shell Shell脚本的执行 Shell脚本编写规范 Shell 中的变量 变量的算术运算 双小括号 (()) 数值运算命令的用法 let 运算命令的用法 expr...]] 、 (()) 的区别 if 条件判断语句 case 条件判断语句 for循环语句 while循环语句 Break、Continue、exit 循环控制语句 Shell脚本执行scrapy爬虫和python...Shell脚本语言很适合用于处理纯文本型的数据,而Linux系统中几乎所有的配置文件、日志文件,以及绝大对数的启动文件都是纯文本类型的文件。...Shell 脚本的类型 Shell脚本语言是弱类型语言(无须定义变量的类型即可使用),在Unix/Linux中主要有两大类shell: 一类是 Bourne shell ,另一类是 C shell Bourne...Shell脚本编写规范 Shell脚本的开发规范及习惯非常重要,虽然这些规范不是必须要遵守的,但有了好的规范和习惯,可以大大提升开发效率,并能在后期降低对脚本的维护成本。

7.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    编写Linux Shell脚本的最佳实践

    这一点很重要,当我们的脚本需要接受参数的时候,我们一定要先判断参数是否合乎规范,并给出合适的回显,方便使用者了解参数的使用。...最少,最少,我们至少得判断下参数的个数吧: if [[ $# != 2 ]];then echo "Parameter incorrect."...默认情况下windows判断utf-8格式是通过在文件开头加上三个EF BB BF字节来判断的,但是在Linux中默认是无BOM的。...否则,在Linux下运行的时候就会识别到开头的三个字符,从而报一些无法识别命令的错。 当然,对于跨平台写脚本还有一个比较常见的问题就是换行符不同。windows默认是 而unix下是 。...在这个wiki里,我们可以找到这个工具所有判断的依据。

    1.1K30

    编写Linux Shell脚本的最佳实践

    这一点很重要,当我们的脚本需要接受参数的时候,我们一定要先判断参数是否合乎规范,并给出合适的回显,方便使用者了解参数的使用。...最少,最少,我们至少得判断下参数的个数吧: 变量和魔数 一般情况下我们会将一些重要的环境变量定义在开头,确保这些变量的存在。...默认情况下windows判断utf-8格式是通过在文件开头加上三个EF BB BF字节来判断的,但是在Linux中默认是无BOM的。...否则,在Linux下运行的时候就会识别到开头的三个字符,从而报一些无法识别命令的错。 权限记得加 这一点虽然很小,但是我个人却经常忘记,不加执行权限会导致无法直接执行,有点讨厌。。。...在这个wiki里,我们可以找到这个工具所有判断的依据。

    75720

    Linuxshell命令——判断与循环

    shell判断 判断分别有if与case两种。 if判断Linux系统的Shell中,if 是用于条件判断的关键字,用于根据给定条件执行不同的代码块。...case判断Linux系统的Shell中,case 是一种用于多分支条件判断的控制结构。它可以根据给定的值匹配多个模式,并执行相应的代码块。...shell循环 循环分别有for与while循环。 for循环 在Linux系统的Shell脚本中,for循环是一种用于遍历列表或范围的控制结构。...while循环 在Linux系统的Shell脚本中,while循环是种用于重复执行代码块的控结构,只要条件为真,就一直执行。...总结 本文将shell判断语法与循环语法进行了完整的表述,但是又很多的关键词用法需要我们翻来覆去的练习才能彻底的掌握,这不是一朝一夕就能搞定的,建议先学一些算法基础,有了算法基础再去使用判断和循环就会很拿手了呢

    91440

    编写Linux Shell脚本的最佳实践

    这一点很重要,当我们的脚本需要接受参数的时候,我们一定要先判断参数是否合乎规范,并给出合适的回显,方便使用者了解参数的使用。...最少,最少,我们至少得判断下参数的个数吧: 变量和魔数 一般情况下我们会将一些重要的环境变量定义在开头,确保这些变量的存在。...默认情况下windows判断utf-8格式是通过在文件开头加上三个EF BB BF字节来判断的,但是在Linux中默认是无BOM的。...否则,在Linux下运行的时候就会识别到开头的三个字符,从而报一些无法识别命令的错。 权限记得加 这一点虽然很小,但是我个人却经常忘记,不加执行权限会导致无法直接执行,有点讨厌。。。...在这个wiki里,我们可以找到这个工具所有判断的依据。

    1.1K90

    使用bash编写Linux shell脚本--复合命令

    命令状态码 每一个 Linux 命令都返回一个状态码(退出状态),他是一个 0~255 之间的数字,用来表示该命令遇到的问题。...非官方的 Linux 惯例使用状态码 127 并且比标准的错误代码要小。例如: ls 返回了状态码 9 ,它表示“ bad file number ”。完整的错误代码列在附录 D :“错误代码”中。...printf “$SCRIPT:$LINENO: the command $who is not available – “/ “ aborting/n “ >&2 exit 192 fi 一般,大部分 Linux...嵌入 let 命令((( .. ))) let 命令判断如果表达式是 0 则返回状态码 1 ,如果表达式不为 0 ,则返回 0 。...adding total and # average sales per item as well as a item count at the end of the # report. # Some Linux

    2.3K101

    Linuxshell编程条件判断-if,while,for,case

    判断条件 1:条件判断基本语法 [ condition ]  (注意condition前后要有空格) #非空返回true,可使用$?...@centos-Reall-131 shtest]$ if [ a = b ]; then echo ok ;else echo bad; fi; bad #a=b它识别为一个整体的字符串,所以条件判断为...true 短路(理解为三元运算符) [ condition ] && echo OK || echo notok 条件满足,执行&&后面的语句;条件不满足,执行|| 后面的语句 2:条件判断组合 注:[...bad [hadoop@centos-Reall-131 shtest]$ if [[ a = b || b = b ]]; then echo ok;else echo bad;fi ok 3:常用判断运算符...[ -z "" ]; then echo ok; else echo bad;fi ok 整数比较: -lt 小于 -le 小于等于 -eq 等于 -gt 大于 -ge 大于等于 -ne 不等于 文件判断

    1.3K20

    Linuxshell编程条件判断-if,while,for,case

    判断条件 1:条件判断基本语法 [ condition ]  (注意condition前后要有空格) #非空返回true,可使用$?...@centos-Reall-131 shtest]$ if [ a = b ]; then echo ok ;else echo bad; fi; bad #a=b它识别为一个整体的字符串,所以条件判断为...true 短路(理解为三元运算符) [ condition ] && echo OK || echo notok 条件满足,执行&&后面的语句;条件不满足,执行|| 后面的语句 2:条件判断组合 注:[...bad [hadoop@centos-Reall-131 shtest]$ if [[ a = b || b = b ]]; then echo ok;else echo bad;fi ok 3:常用判断运算符...[ -z "" ]; then echo ok; else echo bad;fi ok 整数比较: -lt 小于 -le 小于等于 -eq 等于 -gt 大于 -ge 大于等于 -ne 不等于 文件判断

    80530

    企业Linux运维SHELL编写规范 原

    路径规定 为了方便维护人员维护,需要规定两个正式脚本的发布路径和维护人员的测试路径,不要将脚本放到规定路径以外,例如: 1.1 维护人员的测试路径: /opt/tmn/user 该路径用于维护人员编写脚本是的测试路径...编写一个脚本 每套脚本之间路径不要有交叉,将所有用到的脚本全部放在定义目录下 代码尽量简洁,不要啰嗦,注释得当 例如:编写一个给外系统传输网管传送接口数据的脚本 2.1 脚本名称定义 有意义,英文名.../opt/tmn/wlzy/trans_to_zznode/cfg    #配置文件路径(注意,为了脚本的易读性,尽量减少配置文件的使用,不建议将数据库用户信息等放到配置文件中读取) 2.3 执行文件编写...每套脚本中用到的shell脚本尽量不要太多,通常每个shell脚本内容100行左右,主脚本名称要以main打头 文件中不要使用tab制表符,要采用4个空格代替 例如:vi main_trans_to_zznode.sh...定时备份 编写好的脚本,要加入定时备份,通常备份的文件存储到另外一台服务器上 4. 待续……

    94460
    领券