加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell脚本学习笔记

发布时间:2020-12-15 19:51:55 所属栏目:安全 来源:网络整理
导读:shell脚本教程 1. 常见的shell种类: Bourne Shell(/usr/bin/sh或 /bin/sh ) Bourne Again Shell( /bin/bash ) C Shell(/usr/bin/csh) K Shell(/usr/bin/ksh) Shell for Root( /sbin/sh ) 2. shell变量 使用一个定义过的变量,只要在变量名前面加

shell脚本教程

1. 常见的shell种类:

  • Bourne Shell(/usr/bin/sh或/bin/sh
  • Bourne Again Shell(/bin/bash
  • C Shell(/usr/bin/csh)
  • K Shell(/usr/bin/ksh)
  • Shell for Root(/sbin/sh

2. shell变量

使用一个定义过的变量,只要在变量名前面加美元符号即可;

readonly 可定义只读变量;

unset 可删除变量,但是不能删除只读变量;

获取数组的长度

获取数组长度的方法与获取字符串长度的方法相同,例如:

# 取得数组元素的个数
length=${#array_name[@]}
# 或者[*]}# 取得数组单个元素的长度
lengthn[n]}

3. shell运算符

Shell 和其他编程语言一样,支持多种运算符,包括:

  • 算数运算符
  • 关系运算符
  • 布尔运算符
  • 字符串运算符
  • 文件测试运算符

原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。

expr 是一款表达式计算工具,使用它能完成表达式的求值操作。

#!/bin/bash

val=`expr 2 + 2`
echo "两数之和为 : $val"

注意:条件表达式要放在方括号之间,并且要有空格,例如:[$a==$b]是错误的,必须写成[ $a == $b ]


4. 流程控制

for 、while 、 until、case 、break、continue;

5. shell 函数

函数返回值在调用该函数后通过 $? 来获得(可参考实例)。

注意:所有函数在使用前必须定义。这意味着必须将函数放在脚本开始部分,直至shell解释器首次发现它时,才可以使用。调用函数仅使用其函数名即可。


6. 输入输出重定向

需要注意的是文件描述符 0 通常是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR)。

如果希望将 stdout 和 stderr 合并后重定向到 file,可以这样写:

$ command > file 2>&1


/dev/null 文件

如果希望执行某个命令,但又不希望在屏幕上显示输出结果,那么可以将输出重定向到 /dev/null

 /dev/null


7. 文件包含

当前shell脚本文件可以实现调用其他文件定义的变量,进行运算、输出等操作(可参考实例);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读