Vi编辑的shell脚本如何执行啊?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vi编辑的shell脚本如何执行啊?相关的知识,希望对你有一定的参考价值。
谢谢
建Shell脚本和写C/C++源代码都可以用vi编辑器(LINUX系统都会自带),但shell脚本可以直接执行,C源代码则必须经过编译连接才能执行,通常用的都是GCC编译器。建立文本用如下命令:
vi filename
filename就是你要建立的文件名
打开编辑器后是一个命令模式,这时按一下‘i’键即可进入文本编辑模式,写完文本后按‘esc’返回命令模式,再输入“:wq”,回车,就保存了。详细的可以自己上网查询vi的用法。
要注意的一点是你要有写权限,不要都写完了才发现无法保存,那就杯具了。
如果写的是shell脚本,编辑完成后要打开执行权限:
chmod 777 filename
然后才可以执行:
./filename
C源代码的执行要复杂一些,你还是自己去看gcc的命令吧。
参考技术A 我觉得你的要求有点奇怪,好像是为了获取某些变量以便进一步处理,那你为什么不直接在shell脚本中处理呢?以下是我的处理办法:
1. 进入指定目录问题
这涉及到进程生存周期的问题,实际上你在shell脚本写cd /data/wcd/www/时,在执行的时候已经进入了,如果脚本中还后其他指令或动作,比如ls,都是可以正确执行的,但是在脚本执行完毕回到父进程时,路径信息不会保存。如果你只是想进入这个目录,一个变通的办法是使用一个变量来保存这个路径,比如在.bashrc中export path1=/data/wcd/www/,然后在使用的时候输入cd $path1
2. 简单的办法,编写一个脚本,比如叫fullpath,置为可执行(chmod 755 fullpath),放在$PATH可搜索路径下,脚本内容为:
#!/bin/bash
echo `pwd`"/"$1
这样在使用的时候,执行fullpath a.txt就会打出/home/wcd/a.txt
3. 不太理解你要做什么,其实linux下很多命令是二进制的,不可以用vi编辑的……一般默认vi编辑的文件是当前目录下的,如果加入绝对路径就编辑绝对路径指定的文件。如果你的目的就是编辑某个type显示的文件,可以参照2类似的方法,写个shell脚本文件去处理。
参考技术B $ vim test.sh
$ cat test.sh
#!/bin/sh
echo 哈
$ chmod +x test.sh
$ ./test.sh
哈
$ sh test.sh
哈 参考技术C 给脚本加上执行权限,然后执行就好了!
chmod +x ./test.sh
./test.sh 参考技术D sh xx.sh
./xx.sh
如果没有权限,就 chmod +x xx.sh 或者 chmod 777 xx.sh本回答被提问者采纳
以上是关于Vi编辑的shell脚本如何执行啊?的主要内容,如果未能解决你的问题,请参考以下文章