网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
done
3.until
until false ##条件为假
do
#条件不成立所作循环动作
done
#### **三、until**
until false ##条件为假
do
#条件不成立所作循环动作
done
#### **四、if**
if
then
elif
then
…
else
fi
脚本练习:
check\_file.sh
please input filename: file
file is not exist
file is file
file is direcory
此脚本会一直询问直到用户输入exit为止
#!/bin/bash
while true
do
read -p “Please input file: " FILE
if [ “
F
I
L
E
"
=
"
e
x
i
t
"
]
t
h
e
n
e
x
i
t
e
l
i
f
[
!
−
e
"
FILE" = "exit" ] then exit elif [ ! -e "
FILE"="exit"]thenexitelif[!−e"FILE” ]
then
echo
F
I
L
E
i
s
n
o
t
e
x
i
s
t
e
l
i
f
[
−
L
"
FILE is not exist elif [ -L "
FILEisnotexistelif[−L"FILE” ]
then
echo
F
I
L
E
i
s
l
i
n
k
f
i
l
e
e
l
i
f
[
−
f
"
FILE is link file elif [ -f "
FILEislinkfileelif[−f"FILE" ]
then
echo
F
I
L
E
i
s
c
o
m
m
o
n
f
i
l
e
e
l
i
f
[
−
d
"
FILE is common file elif [ -d "
FILEiscommonfileelif[−d"FILE" ]
then
echo $FILE is direcory
fi
done
#### **五、case**
case $1 in
word1|WORD1)
action1
;;
word2|WORD2)
action2
;;
*)
action3
esac
脚本练习
system\_watch.sh disk memory upload (每秒显示)
disk 监控磁盘使用情况
memory 监控内存使用情况
upload 监控启动负载
#!/bin/bash
case $1 in
disk|DISK)
watch -tn 1 df -H
;;
memory|MEMORY)
watch -tn 1 free -m
;;
upload|UPLOAD)
watch -tn 1 uptime
;;
*)
;;
echo “please input”
esac
#### **六、 expect**
问题脚本
#!/bin/bash
read -p “what’s your name:” NAME
read -p "How old are you: " AGE
read -p "Which objective: " OBJ
read -p "Are you ok? " OK
echo $NAME is $AGE’s old study $OBJ feel $OK
应答脚本
#!/usr/bin/expect
set timeout 1 ##设置反应时间
set NAME [ lindex $argv 0 ] ###执行命令的第一串字符(空格为分割符号)
set AGE [ lindex $argv 1 ]
set OBJ [ lindex $argv 2 ]
set FEEL [ lindex KaTeX parse error: Expected '}', got 'EOF' at end of input: …name" { send "NAME\r";exp_continue }
“old” { send “KaTeX parse error: Expected 'EOF', got '}' at position 21: …";exp_continue }̲ "objective" {…OBJ\r”;exp_continue }
“ok” { send “$FEEL\r” }
}
expect eof
验证:
![](https://img-blog.csdnimg.cn/20201213180332110.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1N1bl9fcw==,size_16,color_FFFFFF,t_70)
脚本练习
auto\_ssh 172.25.254.1 westos
可以自动连接目标主机当目标主机网络不通时报错
#!/bin/bash
AUTO_SSH()
{
/usr/bin/expect <<EOF
spawn ssh root@$1
expect {
“yes/no” { send “yes\r”;exp_continue }
“password:” { send “westos\r” }
}
expect eof
EOF
}
ping -c1 -w1 172.25.254.1 &> /dev/null && {
AUTO_SSH 172.25.254.1
}||{
echo connect to host 172.25.254.1 port 22: No route to host
}
#### **七、break,continue,exit**
| | |
![](https://img-blog.csdnimg.cn/img_convert/9a8cb5f8c0ec69e6499adead0da6e95b.png)
最全的Linux教程,Linux从入门到精通
======================
1. **linux从入门到精通(第2版)**
2. **Linux系统移植**
3. **Linux驱动开发入门与实战**
4. **LINUX 系统移植 第2版**
5. **Linux开源网络全栈详解 从DPDK到OpenFlow**
![华为18级工程师呕心沥血撰写3000页Linux学习笔记教程](https://img-blog.csdnimg.cn/img_convert/59742364bb1338737fe2d315a9e2ec54.png)
第一份《Linux从入门到精通》466页
====================
内容简介
====
本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。
![华为18级工程师呕心沥血撰写3000页Linux学习笔记教程](https://img-blog.csdnimg.cn/img_convert/9d4aefb6a92edea27b825e59aa1f2c54.png)
**本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。**
> 需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618635766)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**