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:表示执行这个文件,它的值不被包括到这个命名空间
posted @ 2021-02-26 13:27  派大海星  阅读(78)  评论(0编辑  收藏  举报