Shell Bash 的内部变量

作者: 赵者也 | 来源:发表于2017-03-30 20:32 被阅读82次

$BASH 变量 —— 用于引用 Bash 实例的全路径名。变量的值如下所示:

BASH 变量

$HOME 变量 —— 当前用户的 home 目录,通常是 /home/<username>。

$IFS 变量 —— IFS 是内部字段分隔符的缩写。此变量决定当 Bash 解析字符串时将怎样识别字段,或单词分界线。变量 $IFS 的默认值是空格、制表符和换行符。下面是使用示例:

IFS 变量

$OSTYPE 变量 —— 操作系统类型:

OSTYPE 变量

$SECONDS 变量 —— 脚本已经运行的秒数。下面是该变量的使用示例:

#! /bin/bash -

TIME_LIMIT=10
INTERVAL=1

echo
echo "Hit Ctrl-C to Exit"
echo

while [ "$SECONDS" -le "$TIME_LIMIT" ]
do
    if [ "$SECONDS" -eq 1 ]
    then
        units=second
    else
        units=seconds
    fi
    echo "This script has been running $SECONDS $units."

    sleep $INTERVAL
done

exit 0

该示例的运行效果:


示例的运行效果

$TMOUT 变量 —— 如果 $TMOUT 变量被指定了一个非零的值,此值就会被 Bash 的内部命令
read 作为默认的超时秒数。在交互式的 Shell 中,$TMOUT 的值被作为命令行提示符等待输入的秒数,如果在等待的秒数内没有输入,Bash 将自动被终结。该变量的使用示例:

#! /bin/bash -

set -o nounset
TMOUT=3

echo "Are you ok? (Y/N)"
read input

if [ "$input" == "Y" ]
then
    echo "Continue..."
else
    echo "Exit!"
fi

该示例的运行效果:


示例的运行效果

$UID 变量 —— 当前用户的账号标识码(ID 号),与 /etc/passwd 中记录的相同。此变量记录的是当前账户的真实 ID,即使该账户通过 su 命令已经获得了另一个账号的权限。$UID 是一个只读变量,不接受从命令行或脚本的修改。下面这个脚本使用 $UID 变量来判断当前账号是否为 root:

#! /bin/bash -

root_uid=0
if [ "$UID" -eq "$root_uid" ]
then
    echo "You are root."
else
    echo "You are just an ordinary user."
fi

exit 0

该示例的运行效果:


示例的运行效果

本文参考自 《Linux Shell命令行及脚本编程实例详解

相关文章

  • Shell Bash 的内部变量

    $BASH 变量 —— 用于引用 Bash 实例的全路径名。变量的值如下所示: $HOME 变量 —— 当前用户的...

  • shell第11章shell脚本

    什么是shell? Bash shell: 什么是shell脚本? 变量的介绍: 普通变量介绍: 环境变量介绍: ...

  • Shell脚本基础

    shell 基础 变量 $BASH_SOURCE[0]等价于 BASH_SOURCE, 取得当前执行的shell文...

  • linux中内部变量,环境变量,用户变量的区别

    unix shell的变量分类 在Shell中有三种变量:内部变量,环境变量,用户变量。 内部变量:系统提供,不用...

  • Bash变量的类型

    Bash变量的类型通常理解shell变量是弱类型的,或者无类型的,其实Bash变量是有类型的。 Bash变量一共有...

  • bash环境变量

    环境变量是全局变量 自定义变量是局部变量 bash:可以进入当前shell的子shell(当前shell指的是当前...

  • bash脚本内部变量

    bash脚本内部变量 $BASH bash的程序文件的路径,如/bin/bash $BASH_ENV 该环境变量保...

  • Shell命令

    bash   bash是lunix默认使用的shell 变量的显示与设置 变量的显示:echo变量在显示时,前面必...

  • Linux shell

    linux shell中的条件判断 bash [] 符号[]俩个符号左右都要有空格分隔内部操作符与操作变量之间要有...

  • 软件安全-ShellShock攻击

    Shellshock Attack 概述认识环境变量&&bash1.普通shell变量和bash 从上述实验中我们...

网友评论

  • 和奇谷朴:你运行的环境是什么?自己搭的吗?
    和奇谷朴:@赵者也 好的👌谢谢
    赵者也:@和奇谷朴 不是自己搭的,就是ubuntu的环境

本文标题:Shell Bash 的内部变量

本文链接:https://www.haomeiwen.com/subject/kzkpottx.html