Bash 脚本编程基础及示例

简介

Bash(Bourne Again Shell)是当前 Linux 系统默认的,在 sh(Bourne Shell)的基础上进行扩展,并代替 sh 的一种 CLI(command-line interface)工具。

由于 bash 本身就是 Linux 上的命令语言,所以 bash 编程有着得天独厚的优势:所有在 bash 编程中用到的语句,都可以在命令行中执行。换句话说,就是 bash 编程,其实就是按条件堆积 linux 命令的过程。这也很好地解释了 Linux 是由众多功能单一程序组成的这种哲学思想。

Continue reading

Bash 变量、配置及测试运算简介

bash 变量说明

根据变量的生效范围为标准:

  • 本地变量:生效范围为当前 shell 进程,对当前 shell 进程之外的进程或当前 shell 的子进程和父进程均无效。
  • 环境变量:生效范围为当前 shell 进程及其子进程。

  • 局部变量:生效范围为当前 shell 进程中某代码片段(函数)。

  • 位置变量: $1$2$3 等来表示,用于让脚本在脚本代码中调用通过外部脚本或命令行传递给它的参数。

  • 特殊变量: $?$0$*$@$# 等来表示,系统自带用户存储特殊数据。

Continue reading

shell find 命令不递归查询

linux 中在使用 find 命令和其他命令不一样,别个命令都是需要加 -r-R 才能递归查找,而 find 则默认递归。虽然很少会用到 find 去查当前目录的东西,但凡事都有特殊不是,比如想要快速列出某个目录下的指定文件并只显示文件名,用 find 明显比 ls 好用得多,而且在文件不存在的情况下,可以返回 0 ,相比 ls 文件不存在返回 2 或 ls+grep 文件不存在返回 1 更适合用于脚本编写。好吧,扯远了,下面就来说说如何让 find 只查找指定目录而不递归。

Continue reading