Linux如何编写shell脚本?

Linux如何编写shell脚本?,第1张

一般以#!/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终端中使用命令来编辑和保存文件,如下图所示。这样,问题就解决了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8309670.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存