Shell 编程入门

Shell 简介
什么是 Shell?


shell 是操作系统提供给我们用户来访问系统资源的一个接口。


shell 同时还是一个 Linux 下的命令行解释器,类似 Windows 下的 cmd。


shell 同时还是解释型的脚本语言:运行时翻译,执行一条语句翻译一条,每次执行程序都需要进行解释。


Shell 的发展

shell 有多个版本:Bourne Shell,C Shell,Korn Shell,Bash Shell。现在广泛使用的是 Bash Shell,也就是 Linux 中默认内嵌的 Shell。

Shell 脚本
交互模式
当我们通过远程连接工具连接到了 Linux 服务器或者是虚拟机上时,就是进入了 shell 交互模式:

脚本模式
将要执行的一系列命令都存放在一个文件中,然后由 bash shell 读取并执行,这就是 shell 的脚本模式:

解释一下上面的 test.sh 文件的内容:


第一行:#!/bin/bash,#!标示这是一个可以执行的脚本(最好写上),/bin/bash标示这个脚本是用该解释器来进行的解释。


第二行:# this is test,以 #开头的一般是注释。


第三行:echo "Hello World",向控制台输出 Hello World。


运行 shell 脚本的两种方式
将脚本作为命令行参数


当前目录下:bash test.sh

 

其他目录下:bash /root/test.sh(绝对路径)

 

脚本独立运行


在脚本第一行添加 #!/bin/bash。


给脚本的拥有者添加 x(可执行) 权限 chmod 744。

 

直接在命令行输入:./test.sh

 

shell 变量
变量命名
以字母或下划线开头,后可以跟字母数字下划线,区分大小写。
变量赋值
直接 “变量名=变量值” 即可。

变量取值
在 shell 中,直接通过变量名是获取不到变量值的,需要在变量前加 $符号,更加严谨的做法是加 ${}

局部变量
在某个 shell 中声明的变量,在其他的 shell 中获取不到。(不同的 shell 就是不同的命令行窗口)
环境变量(全局变量)
作用于所有 shell(命令行窗口)的变量。
一些预设的环境变量如下:

BASH:使用的 shell 解释器的位置。
BASH_VERSION:shell 解释器的版本。
UID:当前用户的 ID。
HOSTNAME:主机名。
LANG:系统使用的语言。
PATH:该变量里配置的路径下的文件可以直接执行。


取消变量
unset aa:取消定义好的 aa 变量。
位置参数:$0
Shell中有一些预先定义的特殊只读变量,他们的值只有在脚本运行时才能确定,位置参数就是其中的一种,$0代表脚本本身,$1代表第一个参数,依次类推。

脚本或命令的返回值:$?
在shell中,任何一个命令执行过后都会有一个返回值,这个返回值会指示上个命令的执行状态,通过返回值就可以知道上一个命令是否正确执行。

shell 的内建命令
命令分两种:可执行文件 + 內建命令。
Shell内建命令,就是由 Bash 自身提供的命令,而不是其他地方提供的可执行文件。
常用的一些內建命令:


type:判断一个命令是不是內建命令。


alias:为命令起别名。


unalias:删除别名。


jobs:查看后台的任务。


bg:把任务放在后台继续运行。


fg:把任务放到前台运行。


Ctrl + z:把任务暂停,放到后台。


echo:显示某个变量的值。


exit:当前用户退出系统。


export:将某个变量导出为环境变量。


kill:杀掉某个进程。


pwd:打印当前所在的目录。
 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值