免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: hawkli
打印 上一主题 下一主题

变量里的变量赋值的问题  关闭 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2004-07-16 18:52 |只看该作者

变量里的变量赋值的问题

感谢,关于eval我昨天的确是用搜索翻到了以前的内容解决和理解了的。
原来还不知道有eval这个功能呐,嘿嘿。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
12 [报告]
发表于 2004-07-16 23:26 |只看该作者

变量里的变量赋值的问题

嗯, 當初我寫十三問時, 也曾猶疑說要不要介紹 eval ,
後來覺得, 十三問的目的是在 shell 的基礎,
而 eval 的理解似乎沒基礎較難領會...
於是就沒帶進來了.

或許, 參考一下 swg 兄代貼的 shell command line 處理流程圖, 更有助理解:
http://bbs.chinaunix.net/forum/viewtopic.php?p=2068810#2068810

论坛徽章:
0
13 [报告]
发表于 2004-07-16 23:37 |只看该作者

变量里的变量赋值的问题

说到" shell command line"我知道一个中文的:


  1.                                +-------------+           单引号
  2.     |------------------------->|             |--------------------------|
  3.     |  ----------------------->| 1.分隔成记号|---- ---------------|     |
  4.     |  |   ------------------->|             |      双引号        |     |
  5.     |  |   |                   +-------------+                    |     |
  6.     |  |   |                          ||                          |     |
  7.     |  |   |读取下一个命令            \/                          |     |
  8.     |  |   |     +-------------------------------------------+    |     |
  9.     |  |   |     |                    2.                     |    |     |
  10.     |  |   ------|              检验第一个记号               |    |     |
  11.     |  |         |开放的关键字                    其他关键字 |    |     |
  12.     |  |         |               非关键字                    |    |     |
  13.     |  |         +-------------------------------------------+    |     |
  14.     |  |                              ||                          |     |
  15.     |  |                              \/                          |     |
  16.     |  |            +-----------------------------+               |     |
  17.     |  |  扩展别名  |           3. 检验第一个记号 |               |     |
  18.     |  |------------|  别名                       |               |     |
  19.     |               |              不是别名       |               |     |
  20.     |               +-----------------------------+               |     |
  21.     |                                 ||                          |     |
  22.     |                                 \/                          |     |
  23.     |                           +--------------+                  |     |
  24.     |                           | 4.大括号扩展 |                  |     |
  25.     |                           +--------------+                  |     |
  26.     |                                 ||                          |     |
  27.     |                                 \/                          |     |
  28.     |                           +--------------+                  |     |
  29.     |                           | 5.~符号扩展  |                  |     |
  30.     |                           +--------------+                  |     |
  31.     |                                 ||                          |     |
  32.     |                                 \/                          |     |
  33.     |                           +--------------+       双引号     |     |
  34.     |                           |  6.参数扩展  |<-----------------|     |
  35.     |                           +--------------+                        |
  36.     |                                 ||                                |
  37.     |                                 \/                                |
  38.     |                    +------------------------------+               |
  39.     |                    |  7.命令替换(嵌套命令行处理)  |               |
  40.     |                    +------------------------------+               |
  41.     |                                 ||                                |
  42.     |                                 \/                                |
  43.     |                           +--------------+      双引号            |
  44.     |                           |  8.算术扩展  |------------------|     |
  45.     |                           +--------------+                  |     |
  46.     |                                 ||                          |     |
  47.     |                                 \/                          |     |
  48.     |                           +--------------+                  |     |
  49.     |                           |  9.单词分割  |                  |     |
  50.     |                           +--------------+                  |     |
  51.     |                                 ||                          |     |
  52.     |                                 \/                          |     |
  53.     |                           +--------------+                  |     |
  54.     |                           | 10.路径名扩展|                  |     |
  55.     |                           +--------------+                  |     |
  56.     |                                 ||                          |     |
  57.     |                                 \/                          |     |
  58.     |               +----------------------------------------+    |     |
  59.     |               | 11.命令查寻:函数,内置命令,可执行文件|<---|-----|
  60.     |               +----------------------------------------+
  61.     |                                 ||
  62.     |                                 \/
  63.     |将参数带入下一个命令        +-------------+
  64.     |----------eval--------------| 12.运行命令 |
  65.                                  +-------------+
复制代码

论坛徽章:
0
14 [报告]
发表于 2004-07-17 11:39 |只看该作者

变量里的变量赋值的问题

这个强,有了它,合理运用符号,可以稍稍提高一点shell的运行速度了。

论坛徽章:
0
15 [报告]
发表于 2005-04-01 07:58 |只看该作者

变量里的变量赋值的问题

老帖子,我的办法
var1=AB
var2=CD
var3=var1
不准直接用var1

eval ` eval echo '$'$var3'='$var2`

这样就将AB赋值为CD了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP