linux脚本文件中怎么从文件中读取数据并赋值给变量?

linux脚本文件中怎么从文件中读取数据并赋值给变量?,第1张

假设文件名称为tt.txt,则下列shell脚本可以将6个数字分别赋值给6个变量

i=1

for

lines

in

`cat

tt.txt`

do

case

${i}

in

1)

var1=${lines}

2)

var2=${lines}

3)

var3=${lines}

4)

var4=${lines}

5)

var5=${lines}

6)

var6=${lines}

esac

i=`expr

${i}

+

1`

done

echo

${var1}

echo

${var2}

echo

${var3}

echo

${var4}

echo

${var5}

echo

${var6}

1.Linux的变量种类

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

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

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

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. 在用户目录下的.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不然只能在下次重进此用户时生效。

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

在shell的命令行下直接使用[export 变量名=变量值]

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

配置环境变量分为系统级和用户级,系统级所有用户生效,用户级针对特定用户,现场环境根据职能不同,会通过用户限制 *** 作范围,环境变量修改以实际需要为准,遵循权限最小原则。 一般添加系统环境变量,修改/etc/profile文件,如果 *** 作失误,删除重要配置,影响系统运行。 centos7版本中 /etc/profile 默认扫描路径 /etc/profile.d/ �¸.sh文件,并添加内容到环境变量中,可以通过这种方式不操作/etc/profile增加环境变量。 在/etc/profile.d/下创建文件 my_env.sh,并设置环境变量,如jdk等,内容如下:vi /etc/profile.d/my_env.sh编辑用户文件:~/.bash_profile,增加新path配置信息。如jdk: 自定义命令可以实现很多功能,如项目结构化目录文件生成、系统命令集合、带参命令自动填充等,脚本功能决定自定义命令的丰富程度。 创建自定义命令文件目录,方便集中管理,这里在当前用户目录下创建bin目录:mkdir ~/bin 创建自定义命令文件,文件名为命令名,如vi ~/bin/print,内容打印:echo test,添加文件执行权限:chmod 700 ~/bin/print 系统级 编辑/etc/profile.d/my_env.sh文件,增加环境变量export PATH= PATH:/home/用户名/bin 测试 控制台输入print ,回车即可


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8703317.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-20
下一篇2023-04-20

发表评论

登录后才能评论

评论列表(0条)

    保存