Shell脚本通常以.sh作为拓展名(不用拓展名也可以执行脚本,主要为了更直观看出文件是shell脚本)
脚本第一行通常以#!并加绝对路径,绝对路径指向解释器程序,用来解释执行此脚本,
#!/bin/bash(所有发行版本都默认预装了)
以下就可以输入命令,在命令行能执行的都可以,
例如echo Hello World!
在命令界面输入
- 指定对应解释器程序运行脚本
/bin/bash test.sh (明确将脚本交给bash执行)
- 给脚本文件加上执行权限
Chmod +x test.sh
这样一来直接执行程序即可
./test.sh(这样要求脚本第一行必须指定解释程序绝对路径)
在echo命令中,要想让转义符执行,要加选项-e
``反引号输出执行里面的命令 例如:`date +%F:%T`
''单引号原样输出,但括号里内容直接输出原样
""双引号解析变量(、%)其他的原样输出,"你好name,年龄$age"
在命令也输入a=1是只针对当前shell进程有效
Export是针对当前进程与子进程都有效
+加号后面不加空格
改变字体颜色 \033[1;33m\033[2m
\033(固定搭配)[1(改变字体);33(改变字体颜色)m\033[2m
预定义变量 $?返回上一个命令返回的结果(零或非零)
Echo "1.2+1" | bc (bc可计算小数)
不能使用程序中带的单词(if、for)
数字、下划线_和字母开头a=1
Sep
$0绝对路径
$@逐一输出
$*全部输出
$#变量个数输出
脚本进程产生ID输出 $?返回上一个命令返回的结果 Exit结束 ,后接(上限值0\~255之间) Strace ls可以追踪执行过程 \\ 转义符 echo "\\$a$b"屏蔽$的定义 输出$a2 Echo ${star1(#/%)\*l} (#表示留下l右边,%表示留下l左边 读取第一个l,##/%%读取最后一个)