値を返し、変数に保存

値を返し、変数に保存

2つの値を返す文があります。

cat /ora$sid/dbs/listener.ora|grep PORT|sed 's/.*PORT.*\([0-9]\{4\}\)\(.*\)/\1/'

Return
1521
1522

この文章で私はただ価値を得たいと思います。この値を変数に保存してsqlplus文字列を作成し、oracleデータベースに自動的に接続してからコマンドを実行したいと思います。

返される結果の数を制限し、後で別のコマンドでその値を使用できるように変数に保存するにはどうすればよいですか。

修正する:

この文をssh呼び出しに追加しましたが、実行すると値が得られません(ヘッド-1ではssh呼び出しは正しく機能しません)。

read -p "Maquina : " maquina; read -p "SID : " sid; ssh ora$sid@`echo $maquina` "port=$(cat /ora$sid/dbs/listener.ora|grep PORT|sed 's/.*PORT.*\([0-9]\{4\}\)\(.*\)/\1/ ' | head -1)| echo $port"

ベストアンサー1

コマンドの構成方法を考慮して、1 つの結果のみを取得するには、 を使用するか、両方を組み合わせてhead使用tail​​することをお勧めします。最初の結果だけが必要な場合は、head -1これを行う必要があります。特定の行番号を見つけるには、とのhead組み合わせが必要な場合があります。tail

おすすめ記事