首页 > 系统 > Linux > 正文

shell脚本中如何输出变量的变量例子

2024-08-27 23:58:53
字体:
来源:转载
供稿:网友

本文章重点的介绍一下关于shell变量知识点了,文章介绍的了一个shell变量中变量同时后面还介绍调用了系统环境变量的方法,大家一起来看看.

问题背景:

  1. #!/bin/sh 
  2. PHP=100; 
  3. JAVA=101 
  4. LANGUAGE="PHP JAVA" 
  5. for lang in $LANGUAGE 
  6. do 
  7. //这里想逐行输出100, 101  该怎么写呢? 
  8. done 

解决方法-数字字符串:

  1. #!/bin/sh PHP=100; 
  2. JAVA=101 
  3. LANGUAGE="PHP JAVA" for lang in $LANGUAGE do 
  4.     echo $[$lang
  5. done 

解决方法-字母字符串:

  1. #!/bin/sh 
  2. LANGUAGE=(PHP JAVA) 
  3. LANGUAGE_VALUE=(/data/1 /data/2) 
  4. for ((i=0;i< ${#LANGUAGE[@]};i++)) 
  5. do 
  6.     echo ${LANGUAGE_VALUE[$i]} 
  7. done 

shell 脚本导出环境变量:

如果你想用一个bash脚本来导出一些环境变量给bash shell使用,就会碰到一些问题,因为每一个bash脚本是唯一的一个会话,这些环境变量只会在其自己的脚本里起作用,对于下一次要用到的这些环境变量,bash shell中还是不存在.

例如:在 env.sh 脚本中包含有下面的语句:

  1. export HELLO=hello 
  2. export HELLO2=world 

当你运行完 env.sh 以后,再接着执行 echo $HELLO $HELLO2 在bash shell中,你不会得到任何东西,正确的导出环境变量的方法是 使用source命令来从你的bash脚本中导出环境变量.

  1. $ source env.sh 
  2. echo $HELLO $HELLO2 
  3. $ hello world 

你能放env.sh脚本到 /usr/bin 目录下,接着在任何路径下执行 source env.sh,它都能很好地工作,在这里你要使用source命令来代替直接执行运行脚本,但我意识到,很多使用者没有意识到source命令的作用.

在linux的世界中,你还有另外一种方法来使用这些环境变量在单独的一个环境中,而不影响其他shell的使用,就是 bash -i 通过bash脚本创建一个新的交互bash会话,当你不在使用它的时候,通过exit来退出即可.

下面为例子:

  1. ############################################ 
  2. build_arm.sh 
  3. #!/bin/bash 
  4. export ARCH=arm 
  5. export CROSS_COMPILE=arm-none-linux-gnueabi- 
  6. export PS1="\e[31mBUILD_ARM \w \e[m\n\$" 
  7. ############################################ 
  8. $ bash -i  //Vevb.com 
  9. //接着, 
  10. $./build_arm.sh 
  11. BUILD_ARM ~ $ 
  12. //当你不在使用它的时候, 
  13. BUILD_ARM ~ $ exit 

这样就退出到起初的bash shell了.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表