⾼级Bash脚本编程指南
⼆、什么是Bash
1.简介
Bash(GNU Bourne-Again Shell)是⼀个为GNU计划编写的Unix shell,它是许多Linux平台默认使⽤的shell。
shell是⼀个命令解释器,是介于操作系统内核与⽤户之间的⼀个绝缘层。准确地说,它也是能⼒很强的计算机语⾔,被称为解释性语⾔或脚本语⾔。它可以通过将系统调⽤、公共程序、⼯具和编译过的⼆进制程序”粘合“在⼀起来建⽴应⽤,这是⼤多数脚本语⾔的共同特征,所以有时候脚本语⾔⼜叫做“胶⽔语⾔”
事实上,所有的UNIX命令和⼯具再加上公共程序,对于shell脚本来说,都是可调⽤的。Shell脚本对于管理系统任务和其它的重复⼯作的例程来说,表现的⾮常好,根本不需要那些华⽽不实的成熟紧凑的编译型程序语⾔。
2.为什么学Bash?
对于任何想适当精通⼀些系统管理知识的⼈来说,掌握shell脚本知识都是最基本的,即使这些⼈可能并不打算真正的编写⼀些脚本。
三、初步练习
1.Hello World
Bash之Hello World
$ vim
,输⼊如下代码并保存:
#!/bin/bash
# This is a comment
echo Hello World
vim中插⼊按i
保存并退出换⾏按esc然后输⼊:wq再enter
#! 是说明 hello 这个⽂件的类型,有点类似于 Windows 系统下⽤不同⽂件后缀来表⽰不同⽂件类型的意思(但不相同)。
Linux 系统根据 “#!” 及该字符串后⾯的信息确定该⽂件的类型,可以通过 man magic命令 及 /usr/share/magic ⽂件来了解这⽅⾯的更多内容。
在 BASH 中 第⼀⾏的 “#!” 及后⾯的 /bin/bash 就表明该⽂件是⼀个 BASH 程序,需要由 /bin ⽬录下的 bash 程序来解释执⾏。BASH 这个程序⼀般是存放在 /bin ⽬录下,如果你的 Linux 系统⽐较特别,bash 也有可能被存放在 /sbin 、/usr/local/bin 、
/usr/bin 、/usr/sbin 或 /usr/local/sbin 这样的⽬录下;如果还不到,你可以⽤
locate bashlinuxshell脚本怎么运行
find / -name bash 2>/dev/null
whereis bash
这三个命令出 bash 所在的位置;如果仍然不到,那你可能需要⾃⼰动⼿安装⼀个 BASH 软件包了。
在 BASH 程序中从“#”号开始的部分均被看作是程序的注释。需要注意的是 BASH 中的绝⼤多数语句结尾处都没有分号
运⾏Bash脚本的⽅式:
# 使⽤shell来执⾏
$ sh hello.sh
# 使⽤bash来执⾏
$ bash hello.sh
使⽤.来执⾏
$ . ./hello.sh
使⽤source来执⾏
$ source hello.sh
还可以赋予脚本所有者执⾏权限,允许该⽤户执⾏该脚本
$ chmod u+rx hello.sh
$ ./hello.sh
2.使⽤重定向
⽐如我们想要保存刚刚的hello world为⼀个⽂本,那么该怎么办呢?
“>” 这个符号是重定向,执⾏以下代码,就会在当前⽬录下⽣成⼀个my.txt。打开看看有没有hello world
#!/bin/bash
echo "Hello World" > my.txt
3.使⽤脚本清除/var/log下的log⽂件
⾸先我们看⼀看/var/log/wtmp⾥⾯有啥东西
cat /var/log/wtmp
这个⽂件中记录了系统的⼀些信息,现在我们需要写⼀个脚本把⾥⾯的东西清空,但是保留⽂件
$ vim cleanlogs.sh
说明:/dev/null这个东西可以理解为⼀个⿊洞,⾥⾯是空的(可以⽤cat命令看⼀看)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论