当前位置:  技术问答>linux和unix

shell中一个变量使用的困惑

    来源: 互联网  发布时间:2015-11-20

    本文导语:  近日写一个脚本,总达不到预想的目的,逐步缩小问题范围,最后有如下测试: [root]# cat test #!/bin/sh cd /home PWD=`pwd` echo "1: $PWD" cd /var echo "2: $PWD" cd / echo "3: $PWD" [root]# chmod +x test [root]# ./test 1: /home 2: /var 3: /...

近日写一个脚本,总达不到预想的目的,逐步缩小问题范围,最后有如下测试:

[root]# cat test
#!/bin/sh
cd /home
PWD=`pwd`
echo "1: $PWD"
cd /var
echo "2: $PWD"
cd /
echo "3: $PWD"
[root]# chmod +x test
[root]# ./test
1: /home
2: /var
3: /
[root]#

按预想,1,2,3显示的都应该是/home,但是没有给$PWD赋值,而$PWD的值却在变化,就和执行pwd命令一样

再测试:
[root]# cat test_A
#!/bin/sh
cd /home
a=`pwd`
echo "1: $a"
cd /var
echo "2: $a"
cd /
echo "3: $a"
[root]# chmod +x test_A
[root]# ./test
1: /home
2: /home
3: /home
[root]#

结果却正确了

只换了个变量的名字,结果就完全不一样了,如果说PWD是保留字的话,应该提示错误才对

请各位看看是怎么回事

|
PWD是环境变量,在进入新的目录时候PWD就会改变为相应值。

    
 
 

您可能感兴趣的文章:

  • shell变量和子shell的问题请教
  • shell编程,如何将变量中的环境变量转换为绝对值
  • 怎么查看自己的shell的环境变量,和root的环境变量,solaris系统
  • 子shell改变父shell定义变量的值
  • gdb下用shell写环境变量的问题
  • 关于shell变量传递问题?
  • 如何查看当前shell的所有环境变量?
  • 请问如何在C语言中获得shell 变量
  • 请教个shell环境变量的问题
  • Shell编程中如何获取环境变量中设置的路径
  • C语言调用shell脚本后,通过何种方法能获取脚本中变量的值
  • [linux shell] 如何获得以一个变量的值为名的变量的值
  • 请问一个关于shell变量的简单问题
  • 急急急!!!!!!用B shell如何实现截取变量的子串?
  • unix shell中能否将后台运行程序的输出保存到变量中?
  • 程序中如何使用setenv或者export配置环境变量在当前shell生效
  • 为什么我的系统看不到shell,home变量?
  • 怎样用shell读取properties里面某个键对应的值,再赋值给shell中的变量
  • redhat7.2下怎么在shell文件中以变动日期做为变量?急!!
  • 我在执行shell时,想在shell里直接向mysql数据库插入数据,我该如何写shell。 iis7站长之家
  • 使用shell在文本文件中进行字符串搜索问题?shell高手请进,分不够可以再加
  • shell 脚本中命令别名在脚本外无法使用
  • 在shell中使用mail函数的时候如何使用变量
  • 在shell中使用数组需要什么特殊的条件马? 怎么在有的linux下能够用,在有的linux下就不能能使用?
  • 怎样知道当前使用的是什么shell?
  • 有关在makefile中使用shell函数的问题
  • shell中函数的使用
  • shell script 中切換使用者
  • shell脚本参数使用问题
  • 关于如何使用shell自动执行一个sybase的存储过程
  • makefile使用的是哪种shell,急急急
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 不同类型的shell*(K SHELL , C SHELL) 用命令怎么切换?
  • linux bash shell命令:grep文本搜索工具简介
  • 我在执行shell时,想在shell里直接向mysql数据库插入数据,我该如何写shell。
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 菜鸟问问题:shell是什么呢?普通的ls、cp、pwd这些命令算不算shell呢?如何把自己写的文件变成shell呢?
  • linux bash shell命令:文本搜索工具grep中用于egrep和 grep -E的元字符扩展集
  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • 请问“当前shell”和“子shell”的区别?
  • linux bash shell命令:文本搜索工具grep正则表达式元字符集(基本集)
  • 怎么知道当前是B_SHELL 还是C_SHELL
  • 用户登陆后运行某SHELL退出SHELL就回到LOGIN是怎么作到的?
  • 怎么写shell代码 写好shell怎么运行?
  • 请问一个shell中如何获取这个shell自身抛出的错误?
  • 非登录shell是什么 意思,和登录shell有什么区别啊
  • Solaris 8中修改root的shell为一个非法的Shell后怎么办?
  • 各位Shell高人,如何取得Shell的第10个入口参数?$10不行啊,急!
  • shell 编程 执行shell新建多个终端 并执行程序
  • 如何在一台机器上的shell中执行另外一台机器上的shell
  • 在shell中的交互问题,现在需要在shell结束时按某键或任意键


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3