1

私は単純な bash スクリプトを書いています (私は bash にかなり慣れていません)。コマンドの出力を変数に割り当てようとしていますが、正しく機能していないようです。下記参照:

#!/bin/bash

HOST=`hostname`
MEMORY=`prtconf -v |grep Memory |awk '{print $3}'`
echo "os_instance_name "$HOST
echo "physical_machine_ram "$MEMORY

hostname適切に結果を取得できますが、MEMORY変数にコマンドからの出力が入力されていません。

4

2 に答える 2

0

これを試して:

memory=`free -m | grep Mem | awk '{print $2}'`

echo $memory

物理メモリをメガバイト単位で返す必要があります

また、$1提供したコードでは、空白の列を参照している可能性があります。を使ってみてください$2

于 2013-08-09T14:33:41.833 に答える
0

いくつかのアイデアが頭に浮かびます:

  1. スクリプトをデバッグモードで実行する

    $ bash -x myscript.sh
    
  2. 変数展開を二重引用符で囲みます

    echo "os_instance_name $HOST"
    echo "physical_machine_ram $MEMORY"
    
于 2013-08-09T14:38:10.647 に答える