概念
1 简单介绍
Shell 既是一种脚本编程语言,也是一个连接内核和用户的软件。
2 分类
sh bash等都属于shell;
bash也是linux默认使用的shell;
可以通过cat /etc/shells查看可以使用的shell;
通过echo $SHELL 查看当前使用的shell。
3 小知识
-
默认提示符环境变量
PS1(最外层): [默认用户名@主机名 当前目录]会转为#)
PS2(第二层): >
提示符的字符范围 日期,换行符,主机名,bash版本等
双引号之间的信息为一条,可以包括换行等
脚本后缀无要求,一般为sh
第一行#!/bin/bash 后半部分为解释器位置
4 基本命令
- 简单命令
echo "hello world"
read PERSON 使用命令行赋值
echo "$PERSON"
- 执行
- 设置权限
- chmod [-cfvR] [ugoa][+-=][rwxX] file
- chmod -x file 为文件增加执行权限
- 也可以使用 chmod 777 file 等同于chmod a=rwx file
- chmod 4755 file 使此程序具有root权限
- 执行命令
- 一般直接输入文件名 ./file.sh
- 没有执行权限可以前面加点 ../file.sh
- source file.sh
- /bin/bash file.sh 作为解释器参数
- 设置权限
- 变量
- 定义
- 默认不区分类型 都是字符串
- 定义数字可以不加引号,如果原样输出就单引号,含有变量则使用双引号
- ${}来引用
- 命令结果来赋值 variable=$(command)
- 定义只读变量readonly variable
- 删除变量 unset variable
- 作用域
- 全局变量 默认都是全局变量,在会话内有效
- 局部变量 local a=99 仅在func内部有效
- 环境变量 export a=22 仅对子shell有效,可以通过bash进入子shell,exit退出子shell
- 如果希望永久保留,需要将环境变量写入启动文件,对所有shell有效
- 定义