美文网首页
1.3 玩转变量和环境变量

1.3 玩转变量和环境变量

作者: 拙言_Coder | 来源:发表于2019-03-05 13:55 被阅读0次

《Linux Shell 脚本攻略(第 2 版)》读书笔记

  • 变量在使用之前不需要声明类型,只需直接赋值;
  • 每一个变量的值都是字符串;
  • 有一些特殊的变量会被 shell 环境和操作系统环境用来存储一些特别的值,这类变量就被称为环境变量

1. 预备知识

env: 可查看所有与终端相关的环境变量;

查看某个进程的环境变量可以使用如下命令来查看:

$ pgrep gedit   #使用此命令查看'gedit'应用的进程ID
12501
$ cat /proc/12501/environ   #查看进程 12501 的环境变量
GDM_KEYBOARD_LAYOUT=usGNOME_KEYRING_PID=1560USER=slynuxHOME=/home/slynux

每一个变量以name=value形式来描述,彼此之间由 null 字符(\0)分隔。

可以用 tr 命令来将 \0 替换为 \n,使输出更直观:

$ cat /proc/12501/environ | tr '\0' '\n'

2. 变量的赋值与使用

变量可以通过以下方式进行赋值操作:

var=value #var是变量名;value是值,如果value包括任何空白字符,那么必须使用单引号或者双引号

注意:var = value 不同于 var=value。把 var=value 写成 var = value 是一个常见的错误,但前者是赋值操作,后者则是相等操作。

使用变量

在变量名之前加上 $ 前缀就可以:

var="value" #给变量var赋值
#使用时,如下两种方式都可以
echo $var
echo ${var}
echo "Hello ${var}" #注意,单引号不行

环境变量

环境变量是未在当前进程中定义,而从父进程中继承而来的变量。

例如,环境变量 HTTP_PROXY ,它定义了互联网联建应该使用哪个代理服务器。

HTTP_PROXY=192.168.1.23:3128
export HTTP_PROXY #export命令用来设置环境变量

如何设置 PATH 环境变量

$ export PATH="$PATH:/home/user/bin"
$ PATH="$PATH:/home/user/bin" 
$ export PATH

3. 补充内容

1. 获取字符串长度

length=${#var}

2. 识别当前所使用的shell

echo $SHELL
echo $0

3. 检查是否超级用户

if [ $UID -ne 0 ]; then
  echo Non root user. Please run as root. 
else     
  echo Root user 
fi

4. 修改Bash提示符字符串(username@hostname:~$)

默认的 shell 提示文本是在文件 ~/.bashrc 中的某一行设置的。

  • 可以使用如下命令列出设置变量 PS1 的那一行:

    $ cat ~/.bashrc | grep PS1 
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
    
  • 如果要设置一个定制的提示字符串,可以输入:

  • slynux@localhost: ~$ PS1="PROMPT>" 
    PROMPT> Type commands here #提示字符串已经改变
    

    一些特殊的字符可以扩展成系统参数:

    \u: 用户名
    \h: 主机名
    \w: 当前工作目录

相关文章

  • 《Linux Shell 脚本攻略(第 2 版)》读书笔记

    第1章 小试牛刀 1.1 开始1.2 终端打印1.3 玩转变量和环境变量1.4 使用函数添加环境变量1.5 使用s...

  • 1.3 玩转变量和环境变量

    《Linux Shell 脚本攻略(第 2 版)》读书笔记 变量在使用之前不需要声明类型,只需直接赋值; 每一个变...

  • shell环境变量与变量赋值

    环境变量与变量赋值 环境变量与变量赋值 1 环境变量1.1 变量的格式1.2 查看环境变量1.3 使用函数添加环境...

  • 1.3 变量和环境变量

    1.脚本语言通常不需要在使用变量之前声明其类型。只需要直接赋值就可以了。在Bash中,每一个变量的值都是字符串。无...

  • ShellScript小试牛刀

    《LinuxShell脚本攻略》笔记,Chap-1:小试牛刀 简介 终端打印 玩转变量和环境变量 通过shell进...

  • Linux shell 学习笔记(未完成)

    终端打印 命令: 玩转变量和环境变量 数学计算 文件描述符及重定向 数组和关联数组 使用别名 获取日期

  • 玩转Jenkins - 使用linux系统的环境变量

    title: 玩转Jenkins - 使用linux系统的环境变量date: 2016-10-25tags: Je...

  • 1. Maven配置

    1.1 配置环境变量 1.2 修改阿里云镜像(settings.xml) 1.3 本地仓库(settings.xm...

  • win系统环境变量和用户环境变量

    1、系统环境变量和用户环境变量的区别 用户环境变量对当前用户起作用,系统环境变量对所有用户起作用 2、系统环境变量...

  • ParrotSec环境变量篇

    作为一个遛鸟专业户,怎么能不对自家的环境变量了如指掌呢,今天我们就来玩转parrot的环境变量,确切的说,Debi...

网友评论

      本文标题:1.3 玩转变量和环境变量

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