Linux Shell 常用编程语法
指定解释器
#!/bin/bash
# Sample.sh
变量使用
path=123
path="/home"
path=`pwd`
字符串操作
string="the path is [ $path ]"
echo "取值:${string}"
echo "长度:${#string}"
echo "截取前3字节:${string:0:3}"
echo "截取3字节后:${string:3}"
echo "截取后3字节:${string:0-3}"
传递参数
echo "参数个数为:$#"
echo "执行的文件名:$0"
echo "第一个参数为:$1"
echo "第二个参数为:$2"
逻辑判断
if true; then
echo 'hello true.'
else
echo 'hello false.'
fi
常用的if判断
功能 | 示例 |
---|---|
字符串相等 | [ "${HOME}" = "/root" ] |
字符串包含 | [[ "abbbc" =~ "bb" ]] |
字符串有长度 | [ -n "$BASH_VERSION" ] |
数值相等 | [ 2 -eq 0 ] |
存在是目录 | [ -d /etc/profile.d ] |
存在是文件 | [ -f /etc/profile ] |
元素遍历
for i in `ls -a /home`; do
echo $i
done
函数调用
demoFun(){
echo "函数开始乘法运算."
val=`expr $1 \* 100`
return $val
}
demoFun 2
echo "函数返回值(上条指令执行结果):$?"
包含与执行
source test.sh
:表示包含文件代码,包含后可以使用该文件定义的值. test.sh
:字符.
后带空格,功能与source
相同./test.sh
:表示执行这个文件,它的值不被包括到这个命名空间