2012-01-25 9 views
0

印刷せずに、パラメータから$パラメータを最後の値を印刷 - 印刷のparam引数なしkshのスクリプトで同じ最後の値を印刷する方法kshの+は、私がアドバイスを必要とする

ので、我々はkshの中で何ができるかを印刷するINORDER最後の値?

例は - 私は(この場合は - $ ETH_PORT)最後の値を印刷する必要がある第2のエコーコマンドの後に$ ETH_PORTパラメータを定義するにはせずに、最後のエコー/ printコマンドから最後の値を印刷する方法

function test 


{ 

    ETH_PORT=eth0 
    echo $ETH_PORT 

    # now I need to print the last value (in this case value from $ETH_PORT param) 


    echo < what need to write in order to print last value > 

    } 


test 
テスト機能をruningて後

期待出力

eth0 

    eth0 
+0

「最後の値」とは何ですか? '$ _'はperlのようなものではありません。単なる変数です。 – TLP

+0

はい私はperlの例として$ _変数を与えていることを知っています –

+0

おそらく、例を使って抽出したいものだけを記述するべきです。 – TLP

答えて

0

あなたはecho'ed最後のトラックを保持機能付きechoを覆すことができ、それが行くように最後のものをキャプチャしませんstdoutへ:

#!/bin/bash 

function echo { 
    /bin/echo $* 
    last_echoed="$*" 
} 

function testit { 
    ETH_PORT=eth0 
    echo "this is not echo'ed twice" 
    echo $ETH_PORT 
    echo $last_echoed 
} 

testit 

2番目のオプションは、最後の行が何であったかを追跡し、ラッパースクリプトを使用して、最後にそれを印刷することです。

+0

外部の '/ bin/echo'ではなく、' builtin echo'を使用して、同じ名前の関数をバイパスして組み込みの 'echo'を実行します。 BashとKornShellの両方が持っています。 –

関連する問題