shell编程听课笔记
程序员文章站
2022-04-24 18:49:35
...
1.开头:
#!/bin/bash
2.可执行:chmode +x filename
3.注释: #
4.使用变量:
set variable a a="hello" echo $a
防止混淆${a}
默认变量:
$#:传入脚本的命令行参数个数
$*:所有命令行参数值
$0:命令本身
$1:第一个命令行参数
$2:第二个命令行参数
局部变量
hello="var1"
echo $hello
function func1{
local hello="var2"
echo $hello
}
func1
echo $hello
5.if语句
if [ expression ]
then
#code block
else
#code block
fi
if [ expression ] ; then
#code block
elif [ expression ]
then
#code block
else
#code block
fi
fi
6.比较:
整数比较:-eq -ne -gt -lt -ge -le
字符串比较:= != > < >= <= -z(空) -n(非空)
文件比较:
-e 文件已存在
-f 文件是普通文件
-s 文件大小不为零
-d 文件是一个目录
-r 可读
-w 可写
-x 可执行
例如:
$folder=/home
[ -r "$folder" ] && echo "can read $folder"
注意:
[和]左右都留有空格
=左右都有空格
[ expression ] && code 为真执行code
[ expression ] || code 为假执行code
7.循环
for:
for var in [list] do #code block done #或者 for var in [list]; do #注意分号 #code block done
例如:
#!/bin/bash for day in Sun Mon Tue Wed Thu Fri Sat do echo $day done
while:
while [ condtion ] #为真时执行 do #code block done
until:
until [ condtion ] #为假时执行 do #code block done
8.分支语句:
case:
case "$var" in condition 1) ;; condition 2) ;; *) default statments;; esca
例如:
#!/bin/bash read Keypres case "$Keypress" in [A-Z]) echo "Uppercase letter";; [a-z]) echo "Lowercase letter";; *) echo "Other";; esca
上一篇: makefile听课笔记
下一篇: C++黑马程序员听课笔记