变量赋值
定义变量
username="jack"
handsome="the best handsome person is: $username"
-
=
两边不能有空格 -
双引号
可以替换变量$username
。单引号不能替换变量,单引号所见即所得
命令的结果赋值给变量:变量名=$(命令)
one_var=$(ls /)
one_var=`ls /`
取值
echo $username
echo "$username"
echo ${one_avr}
echo "${one_var}" 推荐
- 环境变量中定义的变量无法在脚本中的引用,如果要引用,需要用命令
export
导出: - 不同的
shell
进程(不同的user)无法共享全局变量,如果要所有的用户都能用到变量,定义在.bashrc
中定义变量
- 定义并导出变量
username="Jack"
export username
或者:
export username="Jack"
- 脚本中引用变量
vim test.sh
echo ${username}
sh test.sh
>>>>>>>>>
Jack
环境变量
查看所有环境变量
env
常用的环境变量
$PWD
当前路径
$USER
当前user
$SHELL
当前使用的shell
$HOME
当前用户家目录
$LOGNAME
当前登录用户
内置变量
$0
: 获取当前执行的shell脚本文件名,包括脚本路径
$n
: 获取当前执行的shell脚本的第N个参数值,n=1,2,3.....9
,如果n大于9
,就要用{}
括起来,如:${10}
$#
: 获取当前shell命令行中的参数的总个数
$*
:获取当前shell命令行中所有的参数
$?
: 获取执行上一个指定的返回值(0为成功,非0为失败)
案例
- 创建脚本
test.sh
,输入
echo "脚本名字:$0"
echo "第一个参数:$1"
echo "第二个参数:$2"
echo "shell脚本的参数个数:$#"
echo "shell脚本的所有参数:$*"
- 执行脚本
bash test.sh 1 2 3
>>>>>>>>>>>>>>>>>>>>>>>>
脚本名字:test.sh
第一个参数:1
第二个参数:2
shell脚本的参数个数:3
shell脚本的所有参数:1 2 3
- 注意:函数内部的
$1
,$2
...是函数的形参,不是脚本命令行参数
网友评论