1.Shell定义变量
Shell定义一个变量不用声明,但是要注意的几点 :1. 首个字符必为字母。 2. 中间不能有空格。3. 不能用标点。4. 不能用shell关键字(在bush中输入help看关键字)。
例如:
x=8
hello="Hello World!"
可以用一个变量给另一个变量赋值:
x=8
y=$x
z=$x+5
2. 变量访问 $
访问其实上边已经用到了,就是在变量前加个$
。例如:
hello="Hello World!"
echo $hello
skill="Shell"
echo "I'm good at ${skill}Sript!"
- 通常用函数
echo
来显示某个变量 - 变量加
{}
是可选的,有的场合为避免与其他字符混淆,帮助编译器识别变量的边界。上句中如果没有{}
则编译器会将¥skillScript当成一个变量
3.只读变量
顾名思义,看个例子就明白了:
hello="Hello World!"
readonly hello #声明成只读变量
4.删除变量 unset
就是unset
指令,删除后不能再次使用,unset
不能删除只读变量。
#!/bin/bash
hello="Hello World!"
unset hello
echo hello #这里没有任何输出
5.添加环境变量 export
用export可让变量当临时的环境变量。
export 变量名=变量
该变量只在当前的Shell或子Sell中有效,一旦关闭Shell变量就失效了。如果需要设置永久的环境变量,则需要编辑配置文件/etc/profile
。
内部变量
变量 | 说明 |
---|---|
$0 |
当前脚本名字 |
$n |
传递给脚本或函数的参数 |
$# |
传递给脚本或函数的参数个数 |
$* |
传递给脚本或函数的所有参数 |
$@ |
传递给脚本或函数的所有参数 被"" 包含时,与$* 稍有不同 |
$? |
上个命令的退出状态或函数的返回值 |
$$ |
当Shell进程ID 对于Shell脚本就是这些脚本所在进程ID |
常见内部变量
变量 | 说明 |
---|---|
$0 |
当前脚本名字 |
$n |
传递给脚本或函数的参数 |
$# |
传递给脚本或函数的参数个数 |
$* |
传递给脚本或函数的所有参数 |
$@ |
传递给脚本或函数的所有参数 被"" 包含时,与$* 稍有不同 |
$? |
上个命令的退出状态或函数的返回值 |
$$ |
当Shell进程ID 对于Shell脚本就是这些脚本所在进程ID |
例如查看当前Shell进程ID指令:
echo $$ #显示 55754
网友评论