Shell 变量

一、第一个Shell脚本

用 vi/vim 命令创建文件 test.sh,扩展名为 sh,如果用 php 写 shell 脚本,扩展名为 php。扩展名不影响脚本运行。

#!/bin/bash
echo "Hello world!"

#! 告诉系统脚本用什么解释器来执行。即使用哪一种 Shell。

echo 用于向窗口输出文本


1. 运行Shell


1. 作为可执行程序

chmod +x ./test.sh		
./test.sh		# 执行脚本

注意: ./,表示在当前目录查找。直接写 test.sh,linux 系统会去 PATH 里寻找 test.sh,而只有 /bin,/sbin,/usr/bin,/usr/sbin 等在 PATH 里。


2. 作为解释器参数

sh tesh.sh
php test.php

这种方式,直接运行解释器,参数是 shell 脚本文件名。



二、Shell变量

定义变量,不加$(PHP语言需要)。

your_name="wangke"

除了显示地直接赋值,还可以用语句给变量赋值。

file=for file `ls /usr`  # 反引号
或
file=for file $(ls /usr)

上面语句将 /etc 下目录的文件名循环出来。


1. 使用变量

在变量名前加 $ 。

your_name='wangke'
echo $your_name
echo ${your_name}

加 {} 为了识别变量的边界,推荐所有变量都加 {}。


2. 只读变量

readonly 定义只读变量。只读变量的值不能被改变。

#!/bin/bash
your_name='wangke'
readonly yuor_name
your_name='qinlu'

运行结果:

/bin/sh: NAME: This variable is read only.

3. 删除变量

unset 删除变量。

unset your_name

变量删除不能再次使用。unset命令不能删除只读变量。

#!/bin/bash
my_name='wangke'
unset my_name
echo $my_name

执行后没有任何输出。


4. 变量类型

  • 局部变量:在脚本或命令中定义,仅当前 shell 中有效,其他 shell 不能访问。
  • 环境变量:所有程序,包括 shell 启动的程序,都能访问环境变量。必要的时候 shell 脚本也可为环境变量。
  • shell变量:由 shell 程序设置的特殊变量。保证 shell 程序正常运行。shell 变量中一部分是环境变量,一部分是局部变量。


posted @ 2021-09-01 10:59  做梦当财神  阅读(110)  评论(0编辑  收藏  举报