Shell语法基础

Shell

命令行解释器


Linux符号| > >> < <<

  • | 管道符,将|前面命令执行后的结果,作为|后面命令的主语。
  • >>前面命令执行后的结果,写进>后面的文件夹里(覆盖)。
  • >>>>前面命令执行后的结果,写进>>后面的文件夹里(追加)。
  • <<后的文件里的内容输入到控制台中。
  • << << + 分隔符;从标准输入中读取,直到遇到分隔符为止。

Shell解释器的种类

Linux/MacOS下执行命令:cat /etc/shells

可以看到以下就是本机上的解释器种类

  • 其中bashLinux上较多使用的解释器
  • zshMacOS上较多使用的解释器
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

以下关于Shell代码内容,都以MacOSzsh来作为解释器演示;在Linux环境一般只需替换zsh-> bash即可。



Shell变量

编写下列shell脚本文件,并执行:
  • 可能会遇到权限问题而导致无法执行:
    • 1 )chmod 777 helloWorld.sh赋予权限. 2 ) ./helloWorld.sh执行.
    • /bin/zsh helloWorld.sh
#!/bin/zsh

A=1+6									# 定义变量
echo A									# 打印"A"
echo $A									# 打印A变量

A=7										# 重新赋值A变量
echo $A									# 打印A变量
unset A                                # 撤销A变量
echo $A                                # 打印A变量
# readonly-test
readonly B=6+1							# 定义只读变量
echo B									# 打印"B"
echo $B									# 打印B变量

B=7										# 重新赋值A变量
unset B                                # 撤销B变量失败
echo $B                                # 打印B变量
  • 执行结果:
A
1+6
6+1

./helloWorld.sh:9: read-only variable: B

由上面的shell代码执行完毕的结果可得出结论:

  • shell变量默认类型都是字符串,无法进行数值计算
  • echo为输出语句
  • $符,为取变量的符号,想要取对应变量必须加此符号
  • unset撤销变量
  • readonly只读,将变量修饰为只读状态,不允许修改与unset撤销

以上的情况都只能在同一个文件内部取得操作变量(局部变量),若要在多处取得变量则需要声明为全局变量(使用export修饰)


特殊变量

  • $n:(功能描述:n为数字,$0代表该脚本名称,$1- 9 代 表 第 一 到 第 九 个 参 数 , 十 以 上 的 参 数 , 十 以 上 的 参 数 需 要 用 大 括 号 包 含 , 如 9代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如 9
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值