Shell笔记--Shell使用系统变量、自定义变量、特殊变量和运算符

目录

1--Shell使用系统变量

2--Shell使用自定义变量

3--特殊变量

3-1--$n

3-2--$#

3-3--$* 和 $@

3-4--$?

4--运算符


1--Shell使用系统变量

        常用的系统变量有:$HOME, $PWD, $SHELL, $USER 等;

echo $HOME

echo $PWD 

echo $SHELL

echo $USER

2--Shell使用自定义变量

        通过 = 来定义变量,可通过 unset 来撤销变量;readonly 可用于声明静态变量,其不能用 unset 来撤销;

        变量名称可以由字母、数字和下划线组成,但不能以数字开头;环境变量建议全部使用大写;

        定义变量时,= 号两侧不能有空格;

        在 bash 中,变量默认类型是字符串类型,因此无法直接进行数值运算;

        变量如果含有空格,需要使用双引号或单引号括起来;

        实操演示:

A=1

echo $A

unset A

readonly B=2

echo $B

unset B

         通过 export 可将变量设置为全局环境变量,从而可供其它 Shell 程序使用;

DESKTOP=/Users/liujinfu/Desktop 

echo $DESKTOP

export DESKTOP

3--特殊变量

3-1--$n

        n 表示数字,$0 代表脚本名称,$1-$9表示第1到第9个参数,10以上的参数需要用大括号包括,如${10};

#!/bin/bash

echo "$0 $1 $2"

3-2--$#

        $# 用于获取所有输入参数的个数,其常在循环中使用;

#!/bin/bash

echo "$0 $1 $2"

echo $#

3-3--$* 和 $@

 $* 代表命令行中所有的参数,其将所有的参数看成一个整体;

$@ 代表命令行中所有的参数,其将每个参数区别对待;

#!/bin/bash

echo "$0 $1 $2"

echo $#

for var in "$*"
do
    echo "$var"
done

for var in "$@"
do
    echo "$var"
done

3-4--$?

$? 返回最后一次执行命令的状态;如果上一个命令正确执行,返回0;

echo $HOME

echo $?

4--运算符

基本语法:$((运算式)) 或 $[运算式]

常用操作符:

        ① 加法:expr +

        ② 减法:expr -

        ③ 乘法:expr \*

        ④ 除法:expr /

        ⑤ 取余:expr %

        注意:运算符左右需有空格隔开:

        ​​​​​​​实例测试:两种方式实现计算 (2+3)*4的结果:

expr `expr 2 + 3` \* 4

s=$[(2+3)*4]

echo $s

猜你喜欢

转载自blog.csdn.net/weixin_43863869/article/details/129870030