Shell脚本编程
Shell 是系统的用户界面,提供用户与内核进行交互操作的一种接口,它接收用户输入的命令并把它送入内核去执行,实际上 Shell 是一个命令解释器,解释由用户输入的命令,并且把它们送到内核。
Bash(GNU Bourne-Again Shell)是一个为 GNU 计划编写的 Unix shell ,它是许多 Linux 平台默认使用的 shell。
shell 是一个命令解释器,是介于操作系统内核与用户之间的一个绝缘层。
准确的说,它也是能力很强的计算机语言,被称为解释性语言或脚本语言。
它可以准确将系统调用、公共程序、工具和编译过的二进制程序“粘合”在一起来建立应用,这是大多数脚本语言的特征,所以脚本语言又叫做“胶水语言”
vim hello.sh
1、运行 Bash脚本 的方式:
sh hello.sh
bash hello.sh
. ./hello.sh(前面的.相当于执行,后面的./相当于加载)
source hello.sh
可以加权限:
chmod u+rx hello.sh
2、使用 重定向:
echo "hello world" > my.txt
cat my.txt
3、用shell脚本清空一个文本内容,但是保留这个文件
首先去目录找到这个文件
cd /var/log
打开这个文件看看都有啥
cat wtmp
创建一个shell脚本:cleanlogs.sh,用它去清除!
vim cleanlogs.sh
LOG_DIR=/var/log
cd $LOG_DIR
cat /dev/null > wtmp
echo "Logs cleaned up."
exit
将shell脚本运行起来:
sh cleanlogs.sh
就清理干净了:
再看,文件还在,但是文件里的内容清理干净了
4、Bash特殊字符
(1)注释(#)
echo "The # asdfghjkl"
echo "The \# asdfghjkl"
echo The # asdfghjkl
echo The \# asdfghjkl
注意引号与注释的问题,看结果:
(2)分号(;)
命令分隔符,可以在同一行输入两个命令(echo … ; echo …),用分号分隔开就好
还可以作为 case选项 的终止符号(;;)
(3)点号(.)
(4)引号
(5)斜线 与 反斜线
(6)反引号
先执行 创建文件夹back,后执行 txt文件 移动
(7)冒号(:)
(8)问号(?)
三目运算符,是 如果 a小于50成立,t 就取值为 8 ;如果 a 小于50不成立,t 就取值为 9
(9)美元符号($)
(10)小括号( () )
(10)小括号( () )
(11)大括号( {} )