配置vim ,作为shell脚本编辑器
来源:互联网 发布:电子键盘软件 编辑:程序博客网 时间:2024/05/16 12:26
下载macvim ,并设置程序依赖
brew install macVim
alias mvim=’/Applications/MacVim.app/Contents/MacOS/Vim -g’
vim配置文件设置:
vim 本地配置文件:提取码->d3uk
需要启用头文件默认插入,需要首先启用文件后缀识别
"Enable filetype plugin filetype plugin indent on
将配置文件放置在~/下 ,
mvim testFile.sh
启用文件后缀识别之后
由于使用了youcompleteme插件, 需要进行编译,才能正常使用。进入~/.vim/bundle/youCompleteMe ,执行./install.py(实际没有使用,自动补全使用的其他方法)
使用的基本语法
使用 #!/bin/sh来确定执行该文件的程序。
变量定义不需要声明, 直接进行定义, 并且变量定义过程中不加空格。否则不能识别、
执行简单脚本,不能使用./shScript来执行。而使用. shScript来执行。
shell脚本中使用的三类命令:
Unix命令:
常用语法 :1. echo "someText" :打印文字到控制台。2. ls 文件列表。3. wc -l : 计算文件中的行数 || filewc -w:计算文件中的单词数 ||filewc -c 计算文件中的字符数4. cp sourcefile destfile : 文件拷贝5. mv oldname newname : 重命名文件或移动文件6. rm file : 文件7. grep 'pattern' file :在文件内搜索字符串 ,如 : grep 'searchString' file.txt8. cut -b colnum file :指定欲显示的文件内容范围,并将他们输出到标准输出设备,比如:输出每行第5个到第9个字符 cut -b5-9 file.txt不能与cat命令混淆。9. cat file.txt : 输出文件内容到标准输出设备上。10. file somefile:得到文件类型11. read var :提示用户输入 ,并将输入赋值给变量。12. sort file.txt: 对file.txt文件中的行进行排序13. uniq:删除文本文件中出现的行列 ,如:sort file.txt | uniq14. expr :进行数学运算:2+3 =>expr 2 "+" 315. find 搜索文件 ,比如:根据文件名搜索find . -name filename -print16. tee : 将数据输出到标准输出设备和文件 ,比如:somecommand | tee outfile17. basename file: 返回不包含路径的文件名,比如 :basename /bin/tux将返回tux18. head -3 file : 打印文本文件开头3行。19. tail -3 file :打印文本文件末尾3行。20. sed 一个进本的查找替换程序。可以从标准输入(如命令管道)读入文本, 并将结果输出到标准输出(屏幕)。命令采用正则表达式进行搜索,不能和shell中的通配符混淆 ,比如 :将linuxfocus替换为LinuxFocus=>cat text.file | sed 's/linuxfocus/LinuxFocus/' > newtext.file21. awk :awk用来从文本文件中提取字段。缺省的字符分隔符是空格,可以使用-F指定其他分割符,cat file.txt | awk -F, '{print $1 "," $3}'
概念: 管道,重定向 ,backtick
管道 (|)讲一个命令的输出作为另一个命令的输入。重定向 :将命令的结果输出到文件而不是标准输出(屏幕)一般情况下,每个命令都会打开3个文件:* 标准输入文件* 标准输出文件* 标准错误文件">"写入文件,并覆盖旧文件">>"加入文件的尾部 ,并覆盖旧文件。反短斜杠:"`"将一个命令的输错作为另一个命令的命令行参数。tar -zcvf lastmod.tar.gz `find . -mtime -1 -type f -print`tar命令将find命令的结果作为了打包对象,
需要注意的是文件描述符0通常是标准输入,1是标准输出 ,2是标准错误输出。如 cmd 2 > file 将标准错误输出到file文件 cmd > file 2>&1
流程控制
- if语句
if ....; then .... elif ....; then .... else .... fi 流程控制中的一些条件:1. 通常使用[ ]来表示测试条件, 需要确保方括号的空格2. [-f "somefile"]:判断是否是一个文件3. [-x "/bin/ls"]:判断/bin/ls是否存在并有可执行权限。4. [-n "$var"]判断$var变量是否有值5. ["$a" = "$b"]:判断$a与$b是否相等注意 : 条件判断[]中间的条件开头和结束需要空格断开。如if [ ”$testStr“ ];条件判断句中等号两端也需要使用空格断开。。if [ "$testStr" = "" ];条件判断句中使用变量时候需要使用""进行包裹。快捷运算符 : && ,如:[ -f "/etc/shadow" ] && echo "This computer uses shadow passwors" 如果左边的表达式威震则执行右边的语句。
- case 语句
#!/bin/sh ftype=`file "$1"` case "$ftype" in "$1: Zip archive"*) unzip "$1" ;; "$1: gzip compressed"*) gunzip "$1" ;; "$1: bzip2 compressed"*) bunzip2 "$1" ;; *) error "File $1 can not be uncompressed with smartzip";; esac 取值后面必须为单词in,每一模式必须以右括号结束。取值可以为变量或常数。匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;;case使用esac(翻转case)作为case语句的结束。
- select
其他一些小内容
- 将命令结果作为下一个命令的参数传入。
命令结果作为下一个命令或表达式的参数
1. 使用``反引号=>fileBasename=`basename $fileDir`2. $() =>效果等同于``
- 有些情况下行首不能添加空格。
- cat命令使用
cat <<EndFlagblablablaEndFlag=>将多行文本在shell脚本中输出到指定的文件或标准输出》,用于在脚本中提供帮助文件。
- 命令行参数
在实际参数输入之前添加 可选参数,使用”-“进行区分 - 变量执行运算
变量执行运算=》1. 使用expr 如i=$(expr $i "+" 1)2. 使用let命令 如:let i++3. 使用 $[a+b]来进行运算
- 输入等待
read命令,等待用户执行输入,进行下一步操作。 - 传递参数 *
输出
- echo :控制台输出
- printf:作用等同于echo ,于c中的printf方法用法相似。
test 命令(格式 : test 参数 操作符 参数 或 使用[ ] 来进行test)
用于条件语句的参数
数值测试:
如:
num1=100num2=100if test $[num1] -eq $[num2]then echo '两个数相等!'else echo '两个数不相等!'fi
字符串测试:
num1="ru1noob"num2="runoob"if test $num1 = $num2then echo '两个字符串相等!'else echo '两个字符串不相等!'fi
文件测试
(文件类型:1. 设备文件 2.目录文件 3. 普通文件)
- 运算符
- 算数运算符 同C基本运算
- 关系运算符 同test数值测试
- 布尔运算符 如下:
- 逻辑运算符 (oc 中&& ||)
- 字符串运算符 ,如下:
- 文件运算符 同test文件测试
布尔运算符
字符串运算符
阅读全文
0 0
- 配置vim ,作为shell脚本编辑器
- Vim编辑器与Shell脚本
- Linux下vim配置,使vim编辑器作为Latex编辑器
- Vim编辑器和shell命令脚本
- 新路程------git 配置vim作为提交编辑器
- 将Vim编辑器打造成Bash Shell脚本IDE
- VIM作为二进制编辑器要点
- shell编辑器vim常用命令
- Linux-Shell:1)Vim编辑器
- vim编辑器配置
- vim 编辑器安装 配置
- VIM编辑器配置
- Vim编辑器的配置
- vim 编辑器配置
- 配置vim编辑器
- git 配置vim编辑器
- vim编辑器的配置
- ubuntu配置vim编辑器
- angularjs+ionic环境配置
- 树莓派开机 延时运行sh脚本
- Android 几行代码实现 单选/多选 按钮组
- Airsim+UnrealEngine 搭建自动驾驶虚拟环境
- CentOS安装jdk1.8
- 配置vim ,作为shell脚本编辑器
- floodlight安装过程总结以及错误处理方法
- 怎么把网站快速搭建起来?
- Linux 系统命令及shell脚本2
- "Illegal property type, c for appearance setter, _installAppearanceSwizzleForSetter:
- Understanding Deep Learning required Rethinking Generalization 笔记
- cesium 读取json
- HMAC-SHA1签名工具类
- 链表中倒数第k个结点