shell学习笔记(一):for循环、if语句、通配符、命令代换、引号
2017-04-14 17:20
513 查看
一、for循环
for 变量in列表
docommand1command2......
done
例1:vim test.sh
#! /bin/bashfor str in name.list
doecho $strdone
例2:vim tesh.sh
#! /bin/bash
for((i=0;i<10;i++))
do
echo $i
done
例3:vim test.sh
#! /bin/basharray=(a b c d 1 2 3)
for i in ${array[*]}
do
echo $i
done
二、if语句
1、shell的if判断是0 为真,走then语句,与c语言(非零为真)相反。
if [条件表达式]
thencommand1
elsecommand2......
fi
2、条件表达式:
(1)文件表达式
if [-f file] 如果文件存在
if [-d dir] 如果文件夹存在
if [-s file] 如果文件存在且非空
if [-r file] 如果文件存在且可读
if [-w file] 如果文件存在且可写
if [-x file] 如果文件存在且可执行
(2)整数变量表达式
if [ int1 -eq int2 ] 如果int1等于int2
if [ int1 -ne int2 ] 如果不等于
if [ int1 -ge int2 ] 如果>=
if [ int1 -gt int2 ] 如果>
if [ int1 -le int2 ] 如果<=
if [ int1 -lt int2 ] 如果<
(3)字符串变量表达式( 字符串允许使用赋值号做等号)
If [ $string1 = $string2] 如果string1等于string2
if [ $string1 != $string2 ] 如果string1不等于string2
if [ -n $string ] 如果string 非空(非0)
if [ -z $string ] 如果string 为空
if [ $sting ] 如果string 非空(和-n类似)
例1:vim test_if.sh
三、通配符、命令代换、单双引号
1、通配符
(1)* :匹配多个任意字符
(2)? :匹配一个任意字符
(3)[若干字符] :匹配方括号中任意一个字符的一次出现
2、命令代换:反引号``或者$()
例1:vim test_th.sh
3、单引号''(保持字面值)和双引号""(可处理字符串中的特殊字符)
例1:vim test.sh
echo "`date`"
echo '\\'
echo "\\"
for 变量in列表
docommand1command2......
done
例1:vim test.sh
#! /bin/bashfor str in name.list
doecho $strdone
例2:vim tesh.sh
#! /bin/bash
for((i=0;i<10;i++))
do
echo $i
done
例3:vim test.sh
#! /bin/basharray=(a b c d 1 2 3)
for i in ${array[*]}
do
echo $i
done
二、if语句
1、shell的if判断是0 为真,走then语句,与c语言(非零为真)相反。
if [条件表达式]
thencommand1
elsecommand2......
fi
2、条件表达式:
(1)文件表达式
if [-f file] 如果文件存在
if [-d dir] 如果文件夹存在
if [-s file] 如果文件存在且非空
if [-r file] 如果文件存在且可读
if [-w file] 如果文件存在且可写
if [-x file] 如果文件存在且可执行
(2)整数变量表达式
if [ int1 -eq int2 ] 如果int1等于int2
if [ int1 -ne int2 ] 如果不等于
if [ int1 -ge int2 ] 如果>=
if [ int1 -gt int2 ] 如果>
if [ int1 -le int2 ] 如果<=
if [ int1 -lt int2 ] 如果<
(3)字符串变量表达式( 字符串允许使用赋值号做等号)
If [ $string1 = $string2] 如果string1等于string2
if [ $string1 != $string2 ] 如果string1不等于string2
if [ -n $string ] 如果string 非空(非0)
if [ -z $string ] 如果string 为空
if [ $sting ] 如果string 非空(和-n类似)
例1:vim test_if.sh
#! /bin/sh rsync -avzP --delete /var/tmp/Control /backup/Control_bak/ if [ $? -eq 0 ] then echo 'rsync successful !!!' else echo 'faild' fi
三、通配符、命令代换、单双引号
1、通配符
(1)* :匹配多个任意字符
(2)? :匹配一个任意字符
(3)[若干字符] :匹配方括号中任意一个字符的一次出现
2、命令代换:反引号``或者$()
例1:vim test_th.sh
#! /bin/bash DATE=`date` LL=$(ls -al) echo $DATE echo $LL
3、单引号''(保持字面值)和双引号""(可处理字符串中的特殊字符)
例1:vim test.sh
#! /bin/bashecho '`date`'
echo "`date`"
echo '\\'
echo "\\"
[test@localhost test-find]$ ./test.sh `date` 2017年 04月 17日 星期一 17:26:05 CST \\ \
相关文章推荐
- Linxu Shell 学习笔记(八)-- if else 与 case esac语句
- shell脚本编程之if语句学习笔记
- shell脚本:test命令 if-then for while 学习笔记
- shell脚本 if语句学习笔记
- shell学习笔记 - 历史命令、命令别名与补齐、通配符
- shell脚本编程之if语句学习笔记
- JavaScript for循环 if判断语句(学习笔记)
- Shell学习笔记(8)-流程控制之IF语句
- Shell学习笔记(11)-流程控制之select、until语句
- 写得蛮好的linux学习笔记(压缩命令,vi一般用法,认识SHELL,正规表示法)
- SHELL学习笔记----IF条件判断,判断条件
- 【学习笔记】再次给if语句后面的分号弄到崩溃
- 学习笔记——shell中的引号和括号使用的总结
- Shell学习笔记(10)-流程控制之while语句
- shell学习笔记(1)Linux下在一行执行多条命令
- Shell学习笔记(4)--内置命令和命令行程序
- SHELL学习笔记----IF条件判断,判断条件
- SHELL学习笔记----IF条件判断,判断条件
- shell-6-退出状态与流程控制语句(if;test;case命令)
- JavaScript基础学习笔记(三)——JavaScript 比较和逻辑运算符、JavaScript If...Else 语句、JavaScript Switch 语句