shell语法1-概论、注释、变量、字符串
如果感觉有点忘了或者有点懵,敲出来测试测试就好了
一:概论
Linux系统中一般默认使用bash,文件开头需要写#! /bin/bash,指明bash为脚本解释器
chmod +x filename:使脚本具有可执行权限
执行方式:
./test.sh # 当前路径下执行
/home/acs/test.sh # 绝对路径下执行
bash test.sh用解释器执行
二:注释
单行:#之后为注释
多行:
:<<EOF
第一行注释
第二行注释
第三行注释
EOF
注:EOF可换成其他字符串(如aaa)
三:变量
1、
name=’liang‘ #可加单引号、双引号或不加
name="liang"
name=liang
使用变量需要$符号或者${}
echo $name
echo${name}
2、只读变量:使用reaonly或者declare将变量变为只读
name=liang
readonly name/declare -r name #两种方法
3、删除变量:unset
name=liang
unset name
echo $name #输出空行
4、局部变量(子进程无法访问)、全局变量(子进程可以访问)
设置为全局变量:export/declare -x
name=liang
export name/declare -x name #两种方法
设置为局部变量:declare +x
export name=liang
declare +x name
四、字符串
可以单引号、双引号
单引号:里面内容原样输出,不会执行、取变量
双引号:里面内容可以执行,会取变量
name=liang
echo ' hi,$name \"hh\" ' 输出hi,$name \"hh\" #单引号,不取变量,不转义
echo " hi,$name \"hh\" "输出hi,liang "hh" #双引号,取变量,\"转义为"
获取字符串长度:
name=liang
echo ${#name} #输出5
提取字串:
echo ${name:0:3} #提取lia(第一个字符为0)