getopts
getopts 会使用到一下 3 个变量:
OPTIND: 存放下一个要处理的参数的索引。这是 getopts 在调用过程中记住自己状态的方式。
OPTARG: 由 getopts 找到的选项所对应的参数。
OPTERR: 值为 0 或 1。指示 Bash 是否应该显示由 getopts 产生的错误信息。
getopts 命令的基本语法:
# option 不能用 ""getopts [option[:]] VARIABLE
option:表示为某个脚本可以使用的选项
“:” 冒号如果某个选项(option)后面出现了冒号(”:”),则表示这个选项后面可以接参数(即一段描述信息DESCPRITION) VARIABLE:表示将某个选项保存在变量 VARIABLE 中
echo
输出换行
shell 环境中,echo 是常用的数据命令,但有的时候,想通过“\n”使输出换行却换不了,这个时候需要增加 -e。
echo -e "1\n2";# 1# 2echo -e "\\\n"#\n
同时输出多个文件
echo "test"| tee -a file1 file2
如果想去掉在屏幕上的显示
echo "test"| tee -a file1 file2 > /dev/null
vim
vim ~/.vimrc vim 配置文件
撤销
删除
删除单行内容
- 将光标移动到需要删除的行;
- 按一下 ESC 键,确保退出编辑模式;
- 按两次键盘上面的 d 键,就可以删除了。
删除给定范围的行
如果你想要删除指定范围的行,比如从第 3 行到第 5 行,按 ESC,然后输入下面的命令,然后回车。
$ 表示最后一行。
gg 快速到第一行;GG 到最后一行。:3,5d
查找替换
先按下 ESC 然后 输入 :查找的范围s/要替换的内容/替换后的内容/g
:查找的范围s/要替换的内容/替换后的内容/g
- 查找范围
就是指定哪个区域需要进行替换,可以是整个文件,也可以是某几行。
如果只替换当前行,可以不写查找范围;
如果范围为整个文件,写一个 “%” 就行;
如果只需要替换某几行,可以写成用逗号分隔的两个数字,含义和 sed 中的类似。另外”$”符号代表文件最后一行,所以替换从第3行到最后一行的某个字符串可以写成”3,$”。
- 要替换的内容
就是需要替换的字符串,这里可以使用正则表达式。
- 替换后的内容
即目标字符串,如果为空,表示删除原来的字符串。
- g
表示替换掉每行所有要替换的字符串。不加 g 则只替换每行找到的第 1 个该字符串。
# 以下命令将1~3行所有的se替换为si:1,3s/se/si/g# 以下命令将整个文件中每行找到的第1个se替换为si:%s/se/si/
tee
tee 命令从标准输入读取并同时写入标准输出和一个或多个文件:
echo "this is a line" | tee file.txt
tee 命令的默认行为是覆盖指定的文件,与>运算符相同。要将输出附加到文件,请使用-a(—append)选项调用命令:
echo "this is a line" | tee -a file.txt
如果您不希望 tee 写入标准输出,则可以将其重定向到 /dev/null:
echo "this is a line" | tee file.txt >/dev/null
要将文本写到多个文件中,请将这些文件指定为tee命令的参数:
echo "this is a line" | tee file_1.txt file_2.txt file_3.txt
tee 命令的另一个优点是,可以将其与 sudo 结合使用,并写入其他用户拥有的文件。要将文本追加到没有写权限的文件中,可以在 tee 之前添加 sudo:
# echo 命令的输出作为输入传递到 tee,这将提升 sudo 权限并将文本写入文件。echo "this is a line" | sudo tee file.txt
date
格式: date [选项] … [+格式]
选项说明:
-d ,—date=字符串 显示指定字符串所描述的时间
格式说明:
