Shell Script变量和参数
一、Shell变量介绍
如果在程序中,需要把2个数据,或者多个数据进行求和的话,那么就需要把这些数据先存储起来,然后把它们累加起来即可
Shell script 运行过程中存储一个数据,需要一个叫做变量的东西!
强调:shell的变量是弱类型的
变量定义:变量名称=量值
变量取值: 变量名称 变量名称 变量名称{变量名称}
变量名称:
由字母、数字、下划线组成,不能有空格
字母开头
不能是shell关键字
量值:
不能包含空格,如果包含空格需要用双引号引用
支持:波浪线扩展、参数和变量扩展、命令替换扩展、算术表达式扩展、引用删除
二、Shell变量基本使用
定义变量并赋值:
var01="hello world"
echo $var01
参数和变量扩展赋值:
var02=$var01
echo $var02
波浪线扩展后赋值:
var03=~username
echo var03
算术表达式扩展赋值:
var01=99
echo $var01
var01=$((var01+101))
echo $var01
命令替换扩展赋值:
var01=`date +%Y-%m-%d`
echo $var01
变量的取值方式:
echo var01=$var01KB
echo var01=${var01}KB
变量扩展发生在双引号和单引号中(单引号内不做变量扩展):
var01="hello world"
echo "var01=$var01"
echo 'var01=$var01'
变量的销毁:
unset var01
echo $var01
三、Shell参数基本使用
是以一或多个数字代表的参数:$1,$2等
$0:脚本的名称
$#:表示参数的个数
$1, 2... 2... 2...{10}…:脚本的位置参数,顺序与脚本调用传参顺序一致
# 创建myshell脚本
[root@localhost ~]# vi myshell.sh
# 写入内容
#!/bin/bash
# 显示脚本名称
echo $0
# 传递的参数个数
echo $#
# 第一个参数
echo $1
# 第二个参数
echo $2
# 打印-
echo "-----------"
# 此处使用$11取值,shell解释为:$1位置参数的值,拼接了数字1
echo $11
# 此处使用${11}可以正确取到参数为11的值
echo ${11}
# 运行结果
[root@localhost ~]# bash myshell.sh a b c d e f g h i j k
myshell.sh
11
a
b
-----------
a1
k