linux脚本常用操作课堂笔记day1

Linux 脚本常用命令

开头 # !/bin/bash

echo 输出

$1,$2,$3位置变量占了三个位置超过九个可以用shift命令将所有参数变量向左移一个位置。

特殊变量:
$0: 显示脚本名称
$#:表示传递给脚本的实际参数个数。
$$: 当前shell脚本的进程号。
$*: 位置参数的值,各个参数之间用环境变量IFS中定义的字符分隔开
$@: 表示位置参数的值,
它不使用IFS环境变量,所以当IFS为空时,参数值不会连接在一起。
$!: 上一个后台命令的进程号。
$?: 执行最后一条命令的退出状态。

自定义系统变量:
export能跨终端显示。类似定义一个公有变量。
如果不定义,那么另一个脚本就没法使用它。
如:将IFS定义为*
export: IFS=’*

read var 表示从键盘输入
echo var输出var

shell的逻辑运算

使用test或者[]都能表示它是条件运算。
如:

进行字串比较必须有空格不然会表示赋值操作

算数比较
-n 表示不为空
-z 为空
-eq 表达式结果相等为真
-ne 表达式结果不相等为真
-ge 左边值大约或等于右边为真
-gt 左边值大于右边为真
-lt 右边大于左边为真
-le 右边大于等于左边为真
!表达式 为假则为真
如:

文件测试

-d 结果为目录为真
-e 文件存在结果为真
-f 文件是一个普通文件则结果为真
-g 文件的sgid位被设置则为真
-r 文件可读为真
-s 文件长度不为0为真
-u 文件的sudi被设置为真
-w 文件可写为真
-x 文件可执行为真

逻辑运算

and 运算 &&

touch 创建一个文件
rm -f 删除一个文件

输出

or 运算 ||
因为当第一个条件为真时,后面的条件都不会去执行,所以只会输出in if

shell 的算数运算
你要使两个值想加需要使用$加两个括号
如:
var3 实现相加

使用let直接在命令行中敲如: