4.shell脚本基础笔记-shell变量的位置参数

作者: 温新

分类: 【Linux】

阅读: 1453

时间: 2022-02-20 14:10:09

hi,我是温新,一名PHPer

位置参数

位置参数概述

shell脚本可以像普通命令一样接收参数。

在脚本中用于读取命令行参数变量就叫位置参数

位置参数变量

位置参数变量是从$1$9,分别代表着第1到第10个位置的参数值。这10个变量是定义好的,直接使用即可。

如果有第11个参数,则使用${10}进行接收。

位置参数案例

1)arg.sh

#!/bin/bash

echo arg is : $1 $2 $3 $4 $5 $6 $8 $9 ${10} ${11}

2)执行脚本

sh arg.sh 11 22 33 44 55 66 77 88 99 1010 1111

特殊参数

在 shell 中有具有特殊含义的变量,如$1~$9等,这些就是特殊参数。

变量 含义
$0 当前脚本的文件名
$n (n≥1) 传递给脚本或函数的参数
$* 所有参数。如'a b c'
$@ 所有参数。如'a' 'b' 'c'
$# 传递参数的总数
$? 上个命令退出的状态
$$ 当前进程ID
$! 最后启动的后台命令的进程ID

declare 声明变量

在 shell脚本基础笔记-shell变量 这篇文章中记录了变量声明与使用。除此之外,还可以使用declare或者typeset内置命令显示声明变量。

declare 声明变量

declare [选项] 变量名
declare [选项] 变量名=值

# 选项
-r	声明只读变量
-i	声明整型变量
-a	声明数组变量
-A	声明关联数组变量

注意:如没有执行 选项,则变量类型为字符串。

只读变量

使用declare-r选项,将变量声明为只读。

# 方式一
name=ziruchu
declare -r name

# 将变量声明为只读后重新赋值会报错
 name=php
-bash: name: readonly variable

# 方式二
declare -i age=19
age=20
echo $age

# 方式三 使用readonly设置只读变量
a=lisi
readonly a

整型变量

整型变量的声明,使用-i选项。

# 方式一
declare -i num
num=1

# 方式二
declare -i num=10

1)数字字符串相关的结果

sum=10+10
echo $num # 10+10

默认声明的变量是字符串类型,因此并不会执行加法运算,而是执行了拼接的运算。

2)数值相加,可先声明变量为整型

declare -i sum
sum=10+20
echo $sum # 30

3)整型变量的声明与赋值

declare -i sum=11+9
echo $sum

4)变量赋值时不需要使用$

x=5
y=5
declare -i sum=x+y
echo $sum # 10

变量一旦声明为整型时,每次对其赋值时,右边都会被当作数学算式计算。

我是温新

每天进行一步点,就一点点

请登录后再评论