一般以#!/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,一定要注意换行符格式 \n 而非 \r\n , 需要借助一些编辑器(如notepad++)更改换行符格式!
通过脚本切换工作目录,刚开始觉得很简单,直接在脚本中写一个cd语句就搞定了。但是,其实不然。
执行脚本时候,只是在当前的shell下开了一个子进程,切换目录的 *** 作只对该进程中相关后续指令有效,但改变不了父进程的目录。
因此,当你写好了脚本,并且调用执行时,你的当前工作目录并没有变化。
那么,解决方案呢?
有两种方式解决(都是执行脚本的方式不同,脚本内容依然是一个cd语句。假定脚本为change.sh):
source change.sh
. ./change.sh
第一个点是bash的内部命令,表示在当前shell中运行
后面的“./change.sh”是命令的参数,即要执行的脚本(注:两点之间要有空格)
实现的方法如下:
1、第一步,打开命令控制台以找到要编辑的文件,执行命令ls来查看下面的一些文件,在下面有一个index.php文件,如下图所示。
2、其次,完成上述步骤后,执行命令vi
index.php,如下图所示。
3、接着,完成上述步骤后,如果要修改此文件的内容,请按键盘上的“
i”键,底部将变为INSERT,就可以对其进行修改,如下图所示。
4、然后,写echo的代码保存 Esc+:+wq,这是保存,按Enter键保存,如下图所示。
5、随后,完成上述步骤后,再次打开文件,将发现刚刚编写的代码已保存在其中,如下图所示。
6、最后,不保存命令是Esc+:+q!,可以灵活运用这些命令。可以使用上述步骤在Linux终端中使用命令来编辑和保存文件,如下图所示。这样,问题就解决了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)