shell 脚本学习笔记

2 篇文章 0 订阅

#!/bin/bash

#! 是一种约定标记,他可以告诉系统这个脚本需要什么样的解释器来执行。

变量

(一)、定义变量

  1. 变量名和等号之间不能有空格;
  2. 首个字符必须为字母(a-z,A-Z)。
  3. 中间不能有空格,可以使用下划线(_)。
  4. 不能使用标点符号。
  5. 不能使用bash里的关键字(可用help命令查看保留关键字)。

(二)、使用变量

country="China"
echo $country
echo ${country}
echo "I love my ${country}abcd!"

(三)、重定义变量

country="China"
country="ribenguizi"

(四)、只读变量

readonly country="China"
或
country="China"
readonly country

(五)、删除变量

unset variable_name

变量类型

  1. 局部变量
    局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
  2. 环境变量
    所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。
  3. shell变量
    shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行

特殊变量

变量含义
$0:-- 当前脚本的文件名–
$n传递给脚本或函数的参数,n是一个数字,表示第几个参数,例如,第一个$1,第二个$2
$#传递给脚本或函数的参数个数
$*传递给脚本或函数的所有参数
$@传递给脚本或函数的所有参数,被双引号包含时与$*稍有不同
$?上个命令的退出状态,或函数返回值
$$当前shell进程ID,对于shell脚本就是这些脚本所在的进程ID

$* $@ 的区别为: 都表示传递给函数或脚本的所有参数,

  1. 不被双引号(" “)包含时,都以”$1" “ 2 " … " 2" … " 2""n” 的形式输出所有参数。
  2. 被双引号(" “)包含时,”$*" 会将所有的参数作为一个整体,以"$1 $2 … n " 的 形 式 输 出 所 有 参 数 ; " n"的形式输出所有参数;" n""@" 会将各个参数分开,以"$1" “ 2 " … " 2" … " 2""n” 的形式输出所有参数。

$? 获取上一个命令的退出状态。就是上一个命令执行后的返回结果。退出状态是一个数字,大部分命令成功会返回 0,失败返回 1。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值