shell和终端
shell是一个相对于内核的概念,在Linux桌面系统中,打开终端,终端是一个软件,这个软件连接到shell,在远程使用putty等软件连接到Linux服务器,也是连接到shell的过程。
终端软件:

注:Linux默认使用bash shell,图中的是zshell。
shell内置命令
cd是shell内置命令,也就是说cd命令是实现在bash shell中的,可以用type cd查看其命令类型,而在终端输入cp等命令,其实是调用一个叫做cp的可执行文件,cp其实像是一个软件安装在系统中。

变量
变量命名
shell编程中,使用类似xx=10定义变量,变量名不能以数字开头,等号两边不能有空格,如果变量名有空格,需要用双引号引起来。定义变量不加$,引用时加$,否则会被当成普通字符串。使用unset xx(不加$)取消变量。
注:例如xx= 定义了变量xx,但是xx是空值,区别于xx变量不存在。
本地变量和环境变量
- 本地变量:只在当前shell有效,例:xx=10定义的变量
- 环境变量:所有子shell有效
定义本地变量
xx=10
定义环境变量:
xx=10 #第一种方法
export xx
export yy=10 #第二种方法
常用系统环境变量:
- $PATH 可执行文件默认搜索路径
- $HOME 用户家目录
- $USER 用户名
- $LANG 当前语言
shell脚本文件
以.sh命名,里面包含shell脚本代码,第一行必须是#!/bin/bash,便于添加可执行权限后,指定使用bash shell解释器执行。
运行shell脚本的两种方式:
chmod +x hello.sh #第一种方法,添加可执行权限并运行
./hello.sh
sh hello.sh #第二种方法,直接调用shell解释器运行
shell脚本接收参数
$1 $2...表示第一个第二个参数。。。如果需要使用$10,会歧义解释为$1和0,所以应该写成${10}$0表示文件名$#表示参数个数$*表示所有参数
示例:


作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。