Shell编程

一,执行方式

区别:bash和sh 是在一个虚拟环境下运行,是子shell

        . 和source是在当前的shell环境下运行,是本shell

变量

自定义变量

ps:

name=123
llll="13132"
qqq="dd dad"

变量调用

$name
echo $name

注意

变量名不能以数字开头

等号左右两侧不能有空格

变量的值有空格的话必须用引号

重复定义变量

aa=123
aa=456#覆盖aa为456


aa="$aa"456

aa=${aa}789

变量查看

set

set



set | grep aa

删除

unset加变量名

unset aa

交互式定义变量(read)

ps

read -p "请输入内容" name


echo $name

注意

aa=123
aa="$aa"456
echo $aa
123456   #输出



aa='$aa'789
echo $aa
$aa789   #输出

aa=`ls /home`
echo $aa
1.txt    #输出

数字运算

整数运算

expr
expr 1 + 2


3



expr  $num1 + $num2



expr $num1 \* $num2  #  *要用/*转义


#注意空格
$(())
echo $(($num1+$num2))




echo $((5-3*2))
$[]
$[5+2]




$[2**3]
#2的3次方
let
let sum=2+3 ; echo $sum

5






let i++ ; echo $i

小数运算

bc

echo "2*4" | bc

8




echo "2^4" | bc

16




echo "scale=2;6/4"  | bc

1.50

环境变量

自定义变量:只在当前shell生效

环境变量:当前shell和子shell 有效

定义方法:

export back_dir1=/home/backup





export back_dir2
#back_dir2要是已经定义的变量(变量名)

位置变量

  $0 代表当前脚本的名称

  • $1 到 $9:这些是位置参数,代表脚本接收到的参数。$1 是第一个参数,$2 是第二个参数,依此类推。
  • 预定义变量

  • $* 和 $@:这两个变量都代表所有的参数列表,但是它们在使用上有一些区别。$* 会将所有的参数视为一个单一的字符串,而 $@ 会将每个参数视为独立的字符串。
  • $0 代表当前脚本的名称
  • $# 参数的个数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值