shell

1.变量

定义变量

url="https://www.baidu.com"

使用变量

${url}

单引号和双引号的区别
1)以单引号’ '包围变量的值时,单引号里面是什么就输出什么,即使内容中有变量和命令(命令需要反引起来)也会把它们原样输出
2)以双引号" "包围变量的值时,输出时会先解析里面的变量和命令,而不是把双引号中的变量名和命令原样输出
Shell特殊变量:Shell KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲、*、 @ 、 @、 @?、$$

变量	含义
$0	当前脚本的文件名。
$n(n≥1)	传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是 $1,第二个参数是 $2。
$#	传递给脚本或函数的参数个数。
$*	传递给脚本或函数的所有参数。
$@	传递给脚本或函数的所有参数。当被双引号" "包含时,$@ 与 $* 稍有不同,我们将在《Shell $*和$@的区别》一节中详细讲解。
$?	上个命令的退出状态,或函数的返回值,我们将在《Shell $?》一节中详细讲解。
$$	当前 Shell 进程 ID。对于 Shell 脚本,就是这些脚本所在的进程 ID。

2.Shell 数组的定义

array_name=(ele1  ele2  ele3 ... elen)
${array_name[index]}

Shell获取数组长度
利用@或*,可以将数组扩展成列表,然后使用#来获取数组元素的个数,格式如下:

${#array_name[@]}
${#array_name[*]}

Shell数组拼接

array_new=(${array1[@]}  ${array2[@]})
array_new=(${array1[*]}  ${array2[*]})

Shell删除数组元素(也可以删除整个数组)

unset array_name[index]
unset array_name

alias:给命令创建别名

alias new_name='command'
alias myShutdown='shutdown -h now'

3.Shell数学计算

算术运算符	说明/含义
+-	加法(或正号)、减法(或负号)
*/%	乘法、除法、取余(取模)
**	幂运算
++--	自增和自减,可以放在变量的前面也可以放在变量的后面
!、&&、||	逻辑非(取反)、逻辑与(and)、逻辑或(or)
<、<=、>、>=	比较符号(小于、小于等于、大于、大于等于)
==、!=、=	比较符号(相等、不相等;对于字符串,= 也可以表示相当于)
<<、>>	向左移位、向右移位
~、|、 &、^	按位取反、按位或、按位与、按位异或
=、+=-=*=/=%=	赋值运算符,例如 a+=1 相当于 a=a+1,a-=1 相当于 a=a-1

4.Shell if else语句

if语句

if  condition
then
    statement(s)
fi

if  condition;  then
    statement(s)
fi

if else 语句

if  condition
then
   statement1
else
   statement2
fi

if elif else 语句

if  condition1
then
   statement1
elif condition2
then
    statement2
elif condition3
then
    statement3
……
else
   statementn
fi

5.Shell case in语句详解

case expression in
    pattern1)
        statement1
        ;;
    pattern2)
        statement2
        ;;
    pattern3)
        statement3
        ;;
    ……
    *)
        statementn
esac

case、in 和 esac 都是 Shell 关键字,expression 表示表达式,pattern 表示匹配模式。
1)expression 既可以是一个变量、一个数字、一个字符串,还可以是一个数学计算表达式,或者是命令的执行结果,只要能够得到 expression 的值就可以。
2)pattern 可以是一个数字、一个字符串,甚至是一个简单的正则表达式。

6.Shell while循环详解

while condition
do
    statements
done

while ((i <= 100))
do
    ((sum += i))
    ((i++))
done

7.Shell for循环和for int循环详解

for((exp1; exp2; exp3))
do
    statements
done

8.函数

function name() {
    statements
    [return value]
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值