shell脚本vi
⑴ 关于linux命令行,shell命令,vi命令
shell并不是一个所谓在“终端”执行的东西,而是一个linux内核与用户之间交互的界面,也可以理解成为是一个专业翻译的角色。
vi不过就是一个文本编辑器罢了,就如同DOS或Windows系统中的Edit一样,只不过这个vi文本编辑器的功能是可以靠添加模块来扩展罢了。在unxu或linux中还有一个文本编辑器叫‘emacs’,只不过这个编辑器更烦,更难于掌握。
其实linux并不难学,无非就是些常用的‘命令’罢了,而且这些所谓的‘命令’多半都是以源码的方式存在在系统中的。所谓‘命令行’不过就是调用这些源码后,然后让一个叫‘shell’的‘家伙’解释给linux内核去听。而这些所谓的‘命令’统统都在bin或是sbin的目录下面。
linux在用户登录以后,自行会启动一个shell,所有用户必须通过shell才能与系统会话。linux的所谓窗口界面,只不过就是系统在用户登录后自行调用了一个shell脚本而启动了Xwindow后的表象罢了。
所谓‘命令行’其实就是shell的解释命令。
⑵ Linux如何编写shell脚本
一般以#!/bin/sh开头(不是必须要写,但一定要单独一行),指定执行这个脚本的shell程序(也可以用#!/bin/zsh或其他),然后就是堆命令了。
Linux的shell脚本支持很多功能,加上Linux高度模块化的命令,完全可以用shell脚本写出复杂的程序。
以上只是简单介绍如何开始写shell脚本,如果要写复杂的脚本,还需要深入学习相关知识(如if——fi、case——esac等结构)。
当然,还需要给脚本加上可执行权限(chmod +x ./file.sh),否则可以用sh ./file.sh方式执行脚本(这里的sh是执行脚本所需shell,命令也可以是zsh ./file.sh或其他)。
整个shell脚本,其实就相当于你在终端输入的一系列命令,如果想在shell里做什么,就先想想在终端可以做什么吧,字符的的连接,就是直接用 "" 双引号,输出,变量定义无 $ 符号,但是使用时一定要加上 $ 符号。
"=" 赋值符号,两边一定不能有空格,这和其他语言有区别,尤其是你还有自己代码美观风格时特别注意,否则会报语法错误!
for 中的数组内容是以 " " 空格分隔,而非 "," 逗号分格。
条件判断 [ true ] 中括号 后面需要有一个空格,但是两个中括号之间不能有空格如 [[ true ]]。
while 条件判断可以用 () 括号,也可以用 [[ ]] 中括号。
如果用windows写shell,一定要注意换行符格式 而非 , 需要借助一些编辑器(如notepad++)更改换行符格式!
⑶ shell脚本cat和vi哪个好用
cat。
shell脚本cat好用,但是不能这么对比,因为cat是一个文本打印的命令,而vi是一个文本编辑器。
Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。
⑷ 怎样用vi编辑器新建shell脚本Linux
新建脚本
vi shell.sh -->任意名称即可
#! /bin/sh -->开始输入脚本内容
。。。
。。。
保存退出
chmod a+x shell.sh -->给脚本shell.sh执行权限 ./shell执行
或 sh shell.sh执行脚本
⑸ Vi编辑的shell脚本如何执行啊
建Shell脚本和写C/C++源代码都可以用vi编辑器(LINUX系统都会自带),但shell脚本可以直接执行,C源代码则必须经过编译连接才能执行,通常用的都是GCC编译器。
建立文本用如下命令:
vi filename
filename就是你要建立的文件名
打开编辑器后是一个命令模式,这时按一下‘i’键即可进入文本编辑模式,写完文本后按‘esc’返回命令模式,再输入“:wq”,回车,就保存了。详细的可以自己上网查询vi的用法。
要注意的一点是你要有写权限,不要都写完了才发现无法保存,那就杯具了。
如果写的是shell脚本,编辑完成后要打开执行权限:
chmod 777 filename
然后才可以执行:
./filename
C源代码的执行要复杂一些,你还是自己去看gcc的命令吧。
