当前位置:首页 » 编程软件 » shell脚本声明变量

shell脚本声明变量

发布时间: 2022-08-03 02:45:23

⑴ shell脚本重新声明环境变量的意义

1、脚本中定义的变量,仅仅在本次脚本会话中起作用
2、PATH这种变量是全局变量
3、export是全局变量
4、请去了解下$home/.bashrc之类的shell进程启动时所加载的一些东西,以及/etc/profile这些文件

⑵ shell变量的作用空间是什么

Shell是一个用C语言编写的程序,它是用户使用linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言,涵盖的知识点多且杂,却是云计算开发人员必须要掌握的技术之一。接下来就给大家梳理一下Shell变量相关的知识。

Linux Shell中的变量可以被指定为任意的数据类型,比如文本字符串或者数值。你也可以通过修改Shell中的变量来改变Shell的样式。

Shell支持三种定义变量的方式:
variable=value
variable='value'
variable="value"
variable是变量名,value是赋给变量的值。如果value不包含任何空白符(例如空格、Tab缩进等),那么可以不使用引号;如果value包含了空白符,那么就必须使用引号包围起来。注意,赋值号=的周围不能有空格。
Shell变量的命名规范和大部分编程语言一样:变量名由数字、字母、下划线组成;必须以字母或者下划线开头;不能使用Shell里的关键字(通过help命令可以查看保留关键字)。

Linux中Shell变量分为系统变量和用户自定义变量,系统变量包括$HOME、$PWD、$SHELL、$USER、echo $SHELL以及显示当前Shell中所有变量set。

Shell自定义变量包括1)定义变量:变量=值;2)撤销变量:unset变量;3)声明静态变量:readonly变量,注意不能unset;4)使用export把变量提升为全局环境变量,如/etc/profile中的TOMCAT_HOME变量,且在另外的/opt/tmp/shell/myShell.sh脚本中使用该环境变量。

Shell设置环境变量
基本语法:
1)export:变量名=变量值(功能描述:将shell变量输出为环境变量)
2)source:配置文件(功能描述:让修改后的配置文件立即生效)
3)echo:$变量名(功能描述:查询环境变量的值)
单行注释:#
多行注释::<<!需要注释的内容!

Shell脚本很适合处理纯文本类型的数据,而Linux中几乎所有的配置文件、日志文件(如NFS、Rsync、Httpd、Nginx、MySQL等),以及绝大多数的启动文件都是纯文本类型的文件。Shell是运维人员必须要掌握的技能,此外还需要掌握Linux、信息安全、Docker容器等。

⑶ shell脚本怎么输出一行两个值并定义两个变量

咨询记录 · 回答于2021-11-01

⑷ 如何声明和使用布尔变量的shell脚本

如果您需要运行一些测试,得到一个布尔结果在一个可读的形式你可以试试这个:
但记住表达只是评估过程中的“如果”
#!/bin/bash

echo "running"

AA="[ -e a.sh ]"
if `$AA`
then
echo 1
else
echo 0
fi

echo "done"

⑸ 如何在shell脚本中使用变量

在网络中 搜索 linux 系统中使用变量 关键词 ,有问题网络。 下面是我查的示例。


  1. 显示环境变量HOME


$ echo $HOME

/home/redbooks

2. 设置一个新的环境变量hello

$ export HELLO="Hello!"

$ echo $HELLO

Hello!

3. 使用env命令显示所有的环境变量

$ env

HOSTNAME=redbooks.safe.org

PVM_RSH=/usr/bin/rsh

Shell=/bin/bash

TERM=xterm

HISTSIZE=1000

...

4. 使用set命令显示所有本地定义的Shell变量

$ set

BASH=/bin/bash

BASH_VERSINFO=([0]="2"[1]="05b"[2]="0"[3]="1"[4]="release"[5]="i386-redhat-linux-gnu")

BASH_VERSION='2.05b.0(1)-release'

COLORS=/etc/DIR_COLORS.xterm

COLUMNS=80

DIRSTACK=()

DISPLAY=:0.0

...

5. 使用unset命令来清除环境变量

set可以设置某个环境变量的值。清除环境变量的值用unset命令。如果未指定值,则该变量值将被设为NULL。示例如下:

$ export TEST="Test..." #增加一个环境变量TEST

$ env|grep TEST #此命令有输入,证明环境变量TEST已经存在了

TEST=Test...

$ unset $TEST #删除环境变量TEST

$ env|grep TEST #此命令没有输出,证明环境变量TEST已经存在了

6. 使用readonly命令设置只读变量

如果使用了readonly命令的话,变量就不可以被修改或清除了。示例如下:

$ export TEST="Test..." #增加一个环境变量TEST

$ readonly TEST #将环境变量TEST设为只读

$ unset TEST #会发现此变量不能被删除

-bash: unset: TEST: cannot unset: readonly variable

$ TEST="New" #会发现此也变量不能被修改

-bash: TEST: readonly variable

环境变量的设置位于/etc/profile文件

如果需要增加新的环境变量可以添加下属行

export path=$path:/path1:/path2:/pahtN

-----------------------------------------------------------------------------------------------------------------------

1.Linux的变量种类

按变量的生存周期来划分,Linux变量可分为两类:

1.1 永久的:需要修改配置文件,变量永久生效。

1.2 临时的:使用export命令声明即可,变量在关闭shell时失效。

2.设置变量的三种方法

2.1 在/etc/profile文件中添加变量【对所有用户生效(永久的)】

用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。

例如:编辑/etc/profile文件,添加CLASSPATH变量

# vi /etc/profile

export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。

2.2 在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】

用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。

例如:编辑guok用户目录(/home/guok)下的.bash_profile

$ vi /home/guok/.bash.profile

添加如下内容:

export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

注:修改文件后要想马上生效还要运行$ source /home/guok/.bash_profile不然只能在下次重进此用户时生效。

2.3 直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】

在shell的命令行下直接使用[export 变量名=变量值] 定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。

3.环境变量的查看

3.1 使用echo命令查看单个环境变量。例如:

echo $PATH

3.2 使用env查看所有环境变量。例如:

env

3.3 使用set查看所有本地定义的环境变量。

unset可以删除指定的环境变量。

4.常用的环境变量

PATH 决定了shell将到哪些目录中寻找命令或程序

HOME 当前用户主目录

HISTSIZE历史记录数

LOGNAME 当前用户的登录名

HOSTNAME指主机的名称

SHELL 当前用户Shell类型

LANGUGE 语言相关的环境变量,多语言可以修改此环境变量

MAIL当前用户的邮件存放目录

PS1基本提示符,对于root用户是#,对于普通用户是$

⑹ linux 声明环境变量:在shell脚本文件中用export 声明的变量,是环境变量吗

如果在一个shell脚本程序中定义了一个变量,当该脚本程序运行时,这个定义的变量只是该脚本程序内的一个局部变量,其他的shell不能引用它,要使某个变量的值可以在其他shell中被改变,可以使用export命令对已定义的变量进行输出。export的效力仅限于该次登陆,重启后失效。

⑺ 如何正确在Linux Shell脚本中定义一个时间变量

1、创建脚本 test.sh,并入截图内容。

热点内容
坤诩钱包为什么没有安卓版 发布:2025-02-09 13:50:49 浏览:297
存储过程性能优化 发布:2025-02-09 13:42:59 浏览:727
源码失窃 发布:2025-02-09 13:38:34 浏览:525
自动浏览器脚本 发布:2025-02-09 13:37:00 浏览:139
易语言问道源码 发布:2025-02-09 12:59:03 浏览:661
ip和服务器有关吗 发布:2025-02-09 12:51:26 浏览:950
极光免费脚本 发布:2025-02-09 12:50:33 浏览:394
c存储过程返回结果集 发布:2025-02-09 12:42:00 浏览:150
gs哪个配置性价比高 发布:2025-02-09 12:35:57 浏览:283
java栈数组 发布:2025-02-09 12:33:37 浏览:557