Linux Shell笔记1 shell编程基础

shell语言是解释型非强类型语言. Linux Shell不区分变量的类型, 一切都是字符串类型, 变量名不能是数字开头. 变量长度没有限制, 变量可以进行比较操作和整数操作. 整数操作取决于字符串的值是否是数字.

变量的引用需要用$, 且$varname一般和${varname}等效, 但是注意有时变量可能会出现混淆的情况, 此时应该用第二种. shell中的所有变量都是全局的, 即一个shell进程只要声明变量, 那么这个shell进程就可以使用这个变量, 如果想要是局部的, 需要前面添加关键字local. 没有初始化的变量是null类型, 可以看成数字0

shell有强引用和弱引用, 分别是' '" "符号. 强引用会把所有的符号解释成字符, 而弱引用会把变量替换成相应的值, 比如:

#!/bin/sh
a=1
echo '$a'
echo "$a"

执行脚本显示:

$a
1

注意shell关于变量的3个关键词:

  • unset 用于删除一个变量, 删除后就不存在了
  • let let 命令是 BASH 中用于计算的工具,用于执行一个或多个表达式,变量计算中不需要加上$来表示变量。如果表达式中包含了空格或其他特殊字符,则必须引起来。
  • export 把变量导出为环境变量, 但是仅仅在当前脚本生效,

let的例子:

#!/bin/bash
a=1
a=a+1
echo $a

b=1
let "b=b+1"
let b=b+1
echo $b

输出

a+1
3

可以看出, a变成了字符串了, 而b还是执行加法. shell中出现数值计算, 最好使用let.let支持i++i--

IO重定向操作, 需要使用> < 或者是 >> <<, 前两个是覆盖写, 后两个是追加.

Linux直接执行shell命令或者文件的时候, 是创建子进程执行, 子进程执行完毕后, 再返回到主进程. 如果需要在当前进程执行shell脚本, 需要执行source xxx.sh, 这个命令一般是执行配置文件时候使用的.




还有一些特殊的作用的命令符号参数:

  • $# 输出变量的个数
  • $? 输出上条命令的结束值
  • $0 输出命令的名字
  • $* 输出命令的所有参数
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值