脚本开头:
#!/bin/bash
每个脚本的开头都是以这一行开头,用于说明下面的脚本是用什么运行的
输出字符:
echo"要输出的字符"
变量:
新建变量:
变量名=赋值
注意:
命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
中间不能有空格,可以使用下划线 _。
不能使用标点符号。
不能使用bash里的关键字(可用help命令查看保留关键字)。
使用变量:
$变量名
使用变量需要在变量名前面加一个美元符号$
获取键盘输入:
read -参数
参数:
参数 | 作用 |
---|---|
-s | 安静模式 |
-r | 反斜杠不作为转义字符 |
-p"需要提示的文本" | 用户输入行前面提示 |
-t 超时时间 | 指定超时时间,单位为秒 |
-u 文件描述符 | 从指定文件描述符读取输入 |
-e | 如果标准输入时从终端来的,未来的readline被采用 |
-i 文本 | 如果readline是被采用来读取该行,文本时放置到编辑缓冲区编辑开始之前 |
例子:
现在运行脚本,需要用户输入“Y”和“N”来做选择,并且提示用户“请输入"Y"确定,输入"N"退出,默认为"N":”,然后把用户的选择赋值到yn变量中。
read -p "请输入"Y"确定,输入"N"退出,默认为"N":" yn
最后的yn为变量名,用户输入的内容会赋值到yn这个变量名中
if判断:
if [ 判断条件 ];then
条件符合后执行的操作
elif [ 判断条件 ];then
条件符合后执行的操作
else
以上条件都不符合执行的操作
fi
if
如果,elif
否则如果,else
否则,fi
结束语句
注意:
如果“=”两边没有空格时赋值,“=”两边有空格为比较
判断条件
两头都要有空格
"$abc"="1" #等号两边没有空格为赋值
"$abc" = "1" #等号两边有空格为比较
用户登录时自动执行脚本:
把脚本放到/etc/profile.d
目录
自定义脚本启动命令:
alias 自定义的命令='输入自定义的命令后执行的操作'
在/etc/bashrc
文件最后添加
清屏命令:
clear
这个命令将会刷新屏幕,本质上只是让终端显示页向后翻了一页,如果向上滚动屏幕还可以看到之前的操作信息。一般都会用这个命令。
在指定文件最后插入一行或多行:
插入单行:
echo "要插入的内容" >> 文件名
注意:echo
后面有空格,要插入的内容
后面也有空格,>>
后面也有空格
插入多行:
echo -e "要插入的第一行\n要插入的第二行\n要插入的第三行" >> 文件名
添加参数-e
,使用\n
换行
删除指定文件的指定行:
sed
删除指定行:
sed '行数d' 文件名
删除第5行
sed '5d' 文件名
删除最后一行:
sed '$d' 文件名
最后一行用美元符号代替
删除第几行到第几行:
sed '要删除的第一行,要删除的最后一行d' 文件名
删除第8行到第10行
sed '8,10d' 文件名
删除不连续的行:
sed '要删除的行d,要删除的行d,要删除的行d' 文件名
删除第3行,第8行和最后一行
sed '3d,8d,$d' 文件名
除了那几行其他的都要删除:
sed '不需要删除的开始行,不需要删除的最后一行!d' 文件名
除了第3行到第6行其他的都要删除
sed '3,6!d' 文件名
删除空白行:
sed '/^$/d' 文件名
删除包含特定字符的行:
sed '/特地字符/d' 文件名
需要删除包含install这个单词的行
sed '/install/d' 文件名
删除特定字符开头的行:
sed '/^特定字符/d' 文件名
需要删除linux开头的行
sed '/^linux/d' 文件名