shell:就是用户和Linux操作系统之间的接口,提供了与操作系统之间通讯的方式、shell是一个命令解释器,它接受命令并且调用程序执行命令
系统提供的:sh、bash、dash、tcsh、csh、nologin
常见的shell命令:
变量的读取与设置
-变量读取
*echo
读取登录用户 echo ¥LOGNAME
读取用户home目录 ¥HOME
读取当前系统默认的shell ¥SHELL
*读取变量的另一种格式:
echo ¥{LOGNAME}
配置环境变量:
1、 export 。。。
export 。。。
2、 。。。
。。。
export 。。。
例如安装jdk
```java
export JAVA_HOME=/etc/javadown/jdk.....
export PATH=$PATH:$JAVA_HOME/bin
如果不清楚解压的目录,在编辑模式使用:! find / -name java
***局部变量***
1、变量与变量内容以一个等号连接:name=value
2、等号两边不能直接接空格
3、变量名称只能是英文字母、数字、下划线、开头不能是数字
4、变量内容若需要有空格等,可以用双引号或者单引号结合内容。注意:双引号保留原本特性,单引号仅为一般字符
5、可用转义字符“\”将特殊字符变成一般字符
6、变量由其他命令定义 -r表示内核
***变量增加额外内容:***
```java
eg:version=$(name)
version=$version-$(uname -p)
*通常变量名大写为系统默认变量,自己定义变量可以用小写。
*取消变量的定义:unset 变量名(如果取消环境变量,修改/etc/profile)
eg: unset version
将命令定义成一个变量: cmd=
X
X
X
或
者
⋅
X
X
X
变
量
总
结
:
1
、
全
局
变
量
:
一
般
全
大
写
。
比
如
环
境
变
量
2
、
局
部
变
量
:
脚
本
函
数
中
的
局
部
变
量
通
常
使
用
l
o
c
a
l
修
饰
:
l
o
c
a
l
i
表
示
i
变
量
的
有
效
范
围
在
该
函
数
内
部
有
效
。
比
如
,
查
看
m
o
r
e
/
e
t
c
/
i
n
i
t
.
d
/
f
u
n
c
t
i
o
n
s
3
、
把
一
个
命
令
定
义
成
一
个
变
量
XXX或者·XXX 变量总结: 1、全局变量:一般全大写。比如环境变量 2、局部变量: 脚本函数中的局部变量通常使用local修饰:local i 表示i变量的有效范围在该函数内部有效。 比如,查看more/etc/init.d/functions 3、把一个命令定义成一个变量
XXX或者⋅XXX变量总结:1、全局变量:一般全大写。比如环境变量2、局部变量:脚本函数中的局部变量通常使用local修饰:locali表示i变量的有效范围在该函数内部有效。比如,查看more/etc/init.d/functions3、把一个命令定义成一个变量(或命令)
4、若变量和其他字符组成新的变量就必须给变量加上大括号。
数据重定向·
-标准输入(stdin):编号为0
-标准输出(stdout):编号为1
-标准错误输出(stderr):编号为2
查看上一条命令是什么结果: echo $?
1>:以覆盖的方法,将正确的数据输出到文件
1>>:以累加的方法,将正确的数据输出到文件
2>:以覆盖的方法,将错误的数据输出到文件
2>>:以累加的方法,将错误的数据输出到文件
命令执行判断:
-KaTeX parse error: Expected 'EOF', got '&' at position 16: ? : 命令回传值有两种:与&̲&或|| &&:cmd1&&c…?=0),则开始运行cmd2
若cmd1运行完毕且为错误(
?
!
=
0
)
,
则
c
m
d
2
不
运
行
∣
∣
:
c
m
d
1
∣
∣
c
m
d
2
:
若
c
m
d
1
运
行
完
毕
并
且
正
确
运
行
(
?!=0),则cmd2不运行 || : cmd1||cmd2 : 若cmd1运行完毕并且正确运行(
?!=0),则cmd2不运行∣∣:cmd1∣∣cmd2:若cmd1运行完毕并且正确运行(?=0),则cmd2不运行,相反则运行cmd2