小佘 发表于 2024-10-28 08:08:53

linux学习day3——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然后执行该脚本:
:<<abc
第一行注释
第二行注释
第三行注释
abc

:<<!
第一行注释
第二行注释
第三行注释
!其它参数相关变量

参数说明$# 代表文件传入的参数个数,如上例中值为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】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: linux学习day3——shell脚本