脚本执行方式和Bash基本功能

一 概述
1 Shell是一个命令行解释器,它为用户提供了一个向内核发送请求以便运行程序的界面系统级程序

Linux下GCC编译过程及静态链接库和动态链接库


Shell还是一个功能强大的编程语言,易编写,易调试,灵活性较强,Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令

2 Shell的分类
Bourne Shell:从1979年起Unix就开始使用Bourne Shell,Bourne Shell的主文件名为sh
C Shell :主要在BSD版的Unix系统中使用,其语法和C语言相似而得名
Shell的两种主要语法类型有Bourne 和C ,这两种语法彼此不兼容,Bourne家族主要包括sh,ksh,Bash,psh,zsh,C家族主要包括csh,tcsh
Bash与sh兼容,现在使用的Linux就是使用Bash作为用户的基本Shell
Linux支持的Shell我们可以通过查看/etc/shells文件进行查看

Linux下GCC编译过程及静态链接库和动态链接库


我们也可以直接切换shell,比如切换成sh

再切回来

Linux下GCC编译过程及静态链接库和动态链接库

二 脚本执行方式
echo 输出命令
echo 选项 输出内容
-e 支持反斜杠控制的字符转换

Linux下GCC编译过程及静态链接库和动态链接库


我们来看几个例子

\b代表删除左侧字符

Linux下GCC编译过程及静态链接库和动态链接库


\t是制表符,也就是Tab键
\n是换行符

\xhh 按照十六进制ASCII码表输出字符,其中hh是两位十六进制数

Linux下GCC编译过程及静态链接库和动态链接库


输出颜色

Linux下GCC编译过程及静态链接库和动态链接库

好了,下面来写我们的第一个shell脚本

Linux下GCC编译过程及静态链接库和动态链接库


注意第一行不是注释,代表我接下来写的是shell脚本
然后我们执行
有两种方式,一种是先给该文件赋予执行权限
chmod 755 hello.sh
然后再执行./hello.sh

Linux下GCC编译过程及静态链接库和动态链接库


另外一种直接bash hello.sh

三 Bash的基本功能
1 历史命令与命令补全
history 这个命令可以查看用户敲的历史命令,注意,这里只是缓存

Linux下GCC编译过程及静态链接库和动态链接库


-w 把缓存中的历史命令写入历史命令保存文件~/.bash_history
-c 会清楚历史记录

历史命令默认会是1000条,可以在/etc/profile中进行修改

Linux下GCC编译过程及静态链接库和动态链接库


历史命令的调用
使用上,下箭头调用以前的历史命令
使用!n执行第n条历史命令
使用!!执行上一条历史命令
使用!字符串,执行最后一条以该字符串开头的命令

在Bash中,命令与文件补全是非常方便与常用的功能,我们只需要在输入命令或文件时,按TAB键就会自动补全,如果遇到多个文件匹配,按两次TAB键,所有匹配的就都会显示出来

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6eb9c67aa2fc875a501e6e409912607c.html