在Linux系统介绍中,介绍了shell的多个版本,现在的Linux发行版基本都默认使用bash(Bourne Again shell),兼容Bourne shell (sh),本文将简要介绍Bash编程语法。
目录
1 变量
1.1 命名规则
- 只能使用英文字母,数字和下划线,首个字符不能以数字开头
- 中间不能有空格,可以使用下划线(_)
- 不能使用标点符号
- 不能使用bash里的关键字(可用help命令查看保留关键字)
1.2 定义与使用变量
定义变量
your_name="abc"
echo $your_name
拼接字符串
your_name="world"
your_name2="hello,$your_name!"
echo $your_name2
数组
array_name=(value0 value1 value2 value3)
valuen=${array_name[n]} # 数组取值
array_name[0]=value0 # 赋值
length=${
#array_name[@]} # 获取数组长度
数组实例:
my_array=(A B "C" D)
echo "第一个元素为: ${my_array[0]}"
my_array[1]=b
echo "数组的元素为:${my_array[*]}" # 打印所有元素
echo "数组的元素为:${my_array[@]}"
输出:
第一个元素为: A
数组的元素为:A b C D
数组的元素为:A b C D
1.3 只读变量
a="123"
readonly a
1.4 删除变量
unset variable_name #不能删除只读变量
不能删除只读变量
# b=10
# readonly b
# echo $b
10
# unset b
-bash: unset: b: cannot unset: readonly variable
#
1.5 环境变量
显示所有环境变量
env
# 或者
printenv
显示环境变量值
printenv LANG
# 或者
echo $LANG
2 控制语句
2.1 条件分支:if
2.1.1 if定义
if condition
then
command1
command2
...
commandN
fi
if和then写在同一行时,用分号分隔。
if [ 2==2 ]; then
echo "true";
else
echo "false";
fi
2.1.2 判断条件写法
# 写法一
test expression
# 写法二
[ expression ]
# 写法三