shell编程听课笔记
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
相关推荐
tianhuak 2020-11-24
woaimeinuo 2020-10-21
touchfuture 2020-09-16
huha 2020-10-16
laisean 2020-11-11
大牛牛 2020-10-30
firefaith 2020-10-30
liguojia 2020-10-20
wangzhaotongalex 2020-10-20
以梦为马不负韶华 2020-10-20
JohnYork 2020-10-16
Julyth 2020-10-16
applecarelte 2020-10-16
laisean 2020-09-27
flycappuccino 2020-09-27
liguojia 2020-09-27
wangzhaotongalex 2020-09-22
流年浅滩 2020-10-23
liujianhua 2020-10-22
tufeiax 2020-09-03
laisean 2020-09-01
vvu 2020-09-16
libao 2020-09-16
Yyqingmofeige 2020-08-18
zhushixia 2020-08-17