命令解释
chmod +x 赋予可执行权限
绿色文件: 可执行文件,可执行的程序
红色文件:压缩文件或者包文件
蓝色文件:目录
白色文件:一般性文件,如文本文件,配置文件,源码文件等
浅蓝色文件:链接文件,主要是使用ln命令建立的文件
红色闪烁:表示链接的文件有问题
黄色:表示设备文件
灰色:表示其他文件
#! 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序。./表示当前目录
#!/bin/bash echo "Hello World !"
chmod +x test.sh ./test.sh
Shell 变量
定义变量时,变量名不加美元符号($,PHP语言中变量需要),如:
your_name="runoob.com"
规则:
-
命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
-
中间不能有空格,可以使用下划线(_)。
-
不能使用标点符号。
-
不能使用bash里的关键字(可用help命令查看保留关键字)。
使用变量
使用一个定义过的变量,只要在变量名前面加美元符号即可,如:
your_name="qinjx" echo $your_name echo ${your_name}
变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界
只读变量
只读变量的值不可以改变
#!/bin/bash myUrl="https://www.google.com" readonly myUrl
获取字符串长度
name="hello,tana" echo ${#name} 10
#提取子字符串
echo ${name:1:4} ello
定义数组
array_name=(value0 value1 value2 value3)
#读取数组
${数组名[下标]}
(base) [root@localhost Tana]# echo ${array_name}[1]
value0[1]
#使用 @ 符号可以获取数组中的所有元素,例如:
echo ${array_name[@]}
(base) [root@localhost Tana]# echo ${array_name[@]}
value0 value1 value3
# 取得数组元素的个数
length=${#array_name[@]}
# 或者
length=${#array_name[*]}
# 取得数组单个元素的长度
lengthn=${#array_name[n]}
Shell 运算符
expr 是一款表达式计算工具,使用它能完成表达式的求值操作。
例如,两个数相加(注意使用的是反引号 ` 而不是单引号 '):
#!/bin/bash val=`expr 2 + 2` echo "两数之和为 : $val" 两数之和为 : 4
注意三点:
- 表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2,这与我们熟悉的大多数编程语言不一样。
- 完整的表达式要被 ` ` 包含,注意这个字符不是常用的单引号,在 Esc 键下边。
- 条件表达式要放在方括号之间,并且要有空格,例如: [$a==$b] 是错误的,必须写成 [ $a == $b ]。