- Linux shell简介
-
- Shell概述
Shell是linux的
命令语言
,
程序设计语言
,shell是linux
外壳
,linux内核,通过外壳协议,来操作内核。在
cat/etc/shells
目录下。
-
- Shell基本格式
vi helloworld.sh
##代码写在普通文本中,通常以.sh结尾
#!/bin/bash
##表示用Shell解析器的类型
echo "hello world"
##注释也可以写在这里
-
- Shell执行方式
sh方式或者bash方式
sh helloworld.sh
bash helloworld.sh
source方式或者 . 方式
使Shell程序文件并依次执行文件中所有语句
. helloworld.sh
##注意 . 和脚本之间是有空格的
source helloworld.sh
直接执行该脚本文件
执行之前需要更改文件的执行权限
./helloworld.sh
##相对路径方式
/home/linux/helloworld.sh
##绝对路径方式
-
- Shell注释
单行注释:
#
多行注释:
:<<!
内容
!
- Shell基本语法
-
- 变量
-
- 系统变量
$PWD $SHELL $USERE $HOME
-
- 自定义变量
变量=值
##等号两侧不能有空格,变量名称一般习惯大写
$变量名
##使用变量
unset 变量名
##撤销变量
readonly 变量名='值'
##静态变量,只读,不能撤销
export
A="A in a.sh"
##export关键字,意味着把变量提升为shell进程中的全局环境变量可供其他的shell子程序使用
总结:
1 、a.sh中直接调用 b.sh,会让 b.sh 在A所在的 bash进程的“子进程”空间中执行
2 、而子进程空间只能访问父进程中用 export 定义的变量
3 、一个 shell进程无法将自己定义的变量提升到父进程空间中去
4 、source 或者 “. ”号执行脚本时,会让脚本在调用者所在的 shell进程空间中执行
反引号赋值
a=`ls -l /root/bin`
##反引号,运行里面的命令,并把结果返回给变量a