jasmine214--love

          只有當你的內心總是充滿快樂、美好的愿望和寧靜時,你才能擁有強壯的體魄和明朗、快樂或者寧靜的面容。
          posts - 731, comments - 60, trackbacks - 0, articles - 0

          shell eval用法

          Posted on 2010-11-26 10:17 幻海藍夢 閱讀(6417) 評論(0)  編輯  收藏 所屬分類: Linux

          1. eval command-line

          其中commandline是在終端上鍵入的一條普通 命令行。然而當在它前面放上eval時,其結果是shell在執行命令行之前掃描它兩次。如:

          pipe="|"

          eval ls $pipe wc -l

          shell1次掃描命令行時,它替換出pipe的 值|,接著eval使它再次掃描命令行,這時shell把| 作為管道符號了。

          如果變量中包含任何需要shell直接在命令行中看到的字符(不是替換的結果),就可以使用eval。命令行結束符(; &),Io重 定向符(< >)和引號就屬于對shell具有特殊意義的符號,必須直接出現在命令行中。

          2. eval echo \$$# 取得最后一個參數

          如:cat last

          eval echo \$$#

          ./last one two three four

          four

          第一遍掃描 后,shell把反斜杠去掉了。當shell再 次掃描該行時,它替換了$4的值,并執行echo命 令

          3.以下示意如何用eval命令創建指向變量的“指 針”:

          x=100

          ptrx=x

          eval echo \$$ptrx 指向ptrx,用這里的方法可以理解b中的例 子

          100 打印100

          eval $ptrx=50 50存到ptrx指向的變量中。

          echo $x

          50 打印50


          原文: http://blog.chinaunix.net/u3/94667/showart_2097808.html

          主站蜘蛛池模板: 镇平县| 惠安县| 社旗县| 巴青县| 棋牌| 昌平区| 莎车县| 沈丘县| 闸北区| 聂拉木县| 夏邑县| 宝兴县| 茂名市| 二连浩特市| 万宁市| 廊坊市| 烟台市| 襄城县| 徐闻县| 隆子县| 大姚县| 东乌珠穆沁旗| 西乌珠穆沁旗| 镇雄县| 色达县| 德保县| 凭祥市| 年辖:市辖区| 巍山| 浦县| 长岛县| 新绛县| 广宁县| 德惠市| 天柱县| 常熟市| 远安县| 体育| 嘉善县| 昂仁县| 民丰县|