社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
shell 是操作系统提供给我们用户来访问系统资源的一个接口。
shell 同时还是一个 Linux 下的命令行解释器,类似 Windows 下的 cmd。
shell 同时还是解释型的脚本语言:运行时翻译,执行一条语句翻译一条,每次执行程序都需要进行解释。
当我们通过远程连接工具连接到了 Linux 服务器或者是虚拟机上时,就是进入了 shell 交互模式:
将要执行的一系列命令都存放在一个文件中,然后由 bash shell 读取并执行,这就是 shell 的脚本模式:
解释一下上面的 test.sh 文件的内容:
第一行:#!/bin/bash
,#!
标示这是一个可以执行的脚本(最好写上),/bin/bash
标示这个脚本是用该解释器来进行的解释。
第二行:# this is test
,以 #
开头的一般是注释。
第三行:echo "Hello World"
,向控制台输出 Hello World。
当前目录下:bash test.sh
其他目录下:bash /root/test.sh
(绝对路径)
在脚本第一行添加 #!/bin/bash
。
给脚本的拥有者添加 x(可执行) 权限 chmod 744
。
直接在命令行输入:./test.sh
以字母或下划线开头,后可以跟字母数字下划线,区分大小写。
直接 “变量名=变量值” 即可。
在 shell 中,直接通过变量名是获取不到变量值的,需要在变量前加 $
符号,更加严谨的做法是加 ${}
在某个 shell 中声明的变量,在其他的 shell 中获取不到。(不同的 shell 就是不同的命令行窗口)
作用于所有 shell(命令行窗口)的变量。
一些预设的环境变量如下:
unset aa
:取消定义好的 aa 变量。
Shell中有一些预先定义的特殊只读变量,他们的值只有在脚本运行时才能确定,位置参数就是其中的一种,$0
代表脚本本身,$1
代表第一个参数,依次类推。
在shell中,任何一个命令执行过后都会有一个返回值,这个返回值会指示上个命令的执行状态,通过返回值就可以知道上一个命令是否正确执行。
命令分两种:可执行文件 + 內建命令。
Shell内建命令,就是由 Bash 自身提供的命令,而不是其他地方提供的可执行文件。
常用的一些內建命令:
type
:判断一个命令是不是內建命令。
alias
:为命令起别名。
unalias
:删除别名。
jobs
:查看后台的任务。
bg
:把任务放在后台继续运行。
fg
:把任务放到前台运行。
Ctrl + z
:把任务暂停,放到后台。
echo
:显示某个变量的值。
exit
:当前用户退出系统。
export
:将某个变量导出为环境变量。
kill
:杀掉某个进程。
pwd
:打印当前所在的目录。
关注我的微信公众号(曲健磊的个人随笔),观看更多精彩内容:
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!