jasmine214--love

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

          shell eval用法

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

          1. eval command-line

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

          pipe="|"

          eval ls $pipe wc -l

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

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

          2. eval echo \$$# 取得最后一個參數(shù)

          如:cat last

          eval echo \$$#

          ./last one two three four

          four

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

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

          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

          主站蜘蛛池模板: 抚松县| 绥江县| 江北区| 铁岭县| 白河县| 建瓯市| 城口县| 历史| 和龙市| 宾川县| 巴青县| 松桃| 沙河市| 阜平县| 新乐市| 融水| 巴马| 梨树县| 连山| 维西| 澄迈县| 当涂县| 凉城县| 嘉义县| 措勤县| 滁州市| 涞水县| 莱芜市| 化德县| 申扎县| 柳林县| 都匀市| 高淳县| 湘阴县| 斗六市| 灵寿县| 深州市| 宿州市| 玉山县| 商河县| 富阳市|