翼度科技»论坛 云主机 LINUX 查看内容

linux学习day3——shell脚本

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
shell语法


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

概论

shell是我们通过命令行与操作系统沟通的语言。
shell脚本可以直接在命令行中执行,也可以将一套逻辑组织成一个文件,方便复用。
AC Terminal中的命令行可以看成是一个“shell脚本在逐行执行”。
注:AC Terminal相当于linux,命令行终端。
Linux中常见的shell脚本有很多种,常见的有:
  1. Bourne Shell(/usr/bin/sh或/bin/sh)
  2. Bourne Again Shell(/bin/bash)
  3. C Shell(/usr/bin/csh)
  4. K Shell(/usr/bin/ksh)
  5. zsh
复制代码
Linux系统中一般默认使用bash,所以接下来讲解bash中的语法。
文件开头需要写#! /bin/bash,指明bash为脚本解释器。
学习技巧

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

新建一个test.sh文件,内容如下:
  1. #! /bin/bash
  2. echo "Hello World!"
复制代码
###运行方式作为可执行文件
  1. acs@9e0ebfcd82d7:~$ chmod +x test.sh  # 使脚本具有可执行权限
  2. acs@9e0ebfcd82d7:~$ ./test.sh  # 当前路径下执行
  3. Hello World!  # 脚本输出
  4. acs@9e0ebfcd82d7:~$ /home/acs/test.sh  # 绝对路径下执行
  5. Hello World!  # 脚本输出
  6. acs@9e0ebfcd82d7:~$ ~/test.sh  # 家目录路径下执行
  7. Hello World!  # 脚本输出
复制代码
用解释器执行
  1. acs@9e0ebfcd82d7:~$ bash test.sh
  2. Hello World!  # 脚本输出
复制代码
2.shell语法——注释

单行注释

每行中#之后的内容均是注释。
  1. # 这是一行注释
  2. echo 'Hello World'  #  这也是注释
复制代码
多行注释

格式:
  1. :<<EOF
  2. 第一行注释
  3. 第二行注释
  4. 第三行注释
  5. EOF
复制代码
然后执行该脚本:
  1. :<<abc
  2. 第一行注释
  3. 第二行注释
  4. 第三行注释
  5. abc
  6. :<<!
  7. 第一行注释
  8. 第二行注释
  9. 第三行注释
  10. !
复制代码
其它参数相关变量

参数说明$# 代表文件传入的参数个数,如上例中值为4$*由所有参数构成的用空格隔开的字符串, 如上例中值为 $@每个参数分别用双引号括起来的字符串,如上例中值为$$ 脚本当前运行的进程ID$?上一条命令的退出状态(注意不是stdout,而是exit code)。0表示正常退出,其他值表示错误$(command)返回command这条命令的stdout(可嵌套)command返回command这条命令的stdout(不可嵌套)
作者:yxc
链接:https://www.acwing.com/blog/content/9688/
来源:AcWing

来源:https://www.cnblogs.com/sunyingee/p/18508915
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
来自手机

举报 回复 使用道具