linux学习day3——shell脚本

  • linux学习day3——shell脚本已关闭评论
  • 37 次浏览
  • A+
所属分类:linux技术
摘要

shell是我们通过命令行与操作系统沟通的语言。shell脚本可以直接在命令行中执行,也可以将一套逻辑组织成一个文件,方便复用。
AC Terminal中的命令行可以看成是一个“shell脚本在逐行执行”。


shell语法

  • 概论
  • 注释
  • 变量
  • 默认变量
  • 数组
  • expr命令
  • read命令
  • echo命令
  • printf命令
  • test命令与判断符号[]
  • 判断语句
  • 循环语句
  • 函数
  • exit命令
  • 文件重定向
  • 引入外部脚本

1.shell语法——概论

概论

shell是我们通过命令行与操作系统沟通的语言。

shell脚本可以直接在命令行中执行,也可以将一套逻辑组织成一个文件,方便复用。
AC Terminal中的命令行可以看成是一个“shell脚本在逐行执行”。

注:AC Terminal相当于linux,命令行终端。

Linux中常见的shell脚本有很多种,常见的有:

Bourne Shell(/usr/bin/sh或/bin/sh) Bourne Again Shell(/bin/bash) C Shell(/usr/bin/csh) K Shell(/usr/bin/ksh) zsh … 

Linux系统中一般默认使用bash,所以接下来讲解bash中的语法。
文件开头需要写#! /bin/bash,指明bash为脚本解释器。


学习技巧

不要死记硬背,遇到含糊不清的地方,可以在AC Terminal里实际运行一遍。

脚本示例

新建一个test.sh文件,内容如下:

#! /bin/bash echo "Hello World!" 

###运行方式 作为可执行文件

acs@9e0ebfcd82d7:~$ chmod +x test.sh  # 使脚本具有可执行权限 acs@9e0ebfcd82d7:~$ ./test.sh  # 当前路径下执行 Hello World!  # 脚本输出 acs@9e0ebfcd82d7:~$ /home/acs/test.sh  # 绝对路径下执行 Hello World!  # 脚本输出 acs@9e0ebfcd82d7:~$ ~/test.sh  # 家目录路径下执行 Hello World!  # 脚本输出 

用解释器执行

acs@9e0ebfcd82d7:~$ bash test.sh Hello World!  # 脚本输出 

2.shell语法——注释

单行注释

每行中#之后的内容均是注释。

# 这是一行注释  echo 'Hello World'  #  这也是注释 

多行注释

格式:

:<<EOF 第一行注释 第二行注释 第三行注释 EOF 

其中EOF可以换成其它任意字符串。例如:

:<<abc 第一行注释 第二行注释 第三行注释 abc  :<<! 第一行注释 第二行注释 第三行注释 ! 

作者:yxc
链接:https://www.acwing.com/blog/content/9688/
来源:AcWing