Bashの特定の単語エコ

Bashの特定の単語エコ

デフォルトでは、bashには自分のコンピュータに情報を要求するコマンドがたくさんあります。

良い:

> host=$(hostname -A) 
hostname=$(hostname -I) 
Pub_IP=$(dig +short
myip.opendns.com @resolver1.opendns.com) 
Kernel_Version=$(uname -v | awk -F"Debian" '{print $2}' | cut -d ' ' -f2 | cut -d '-' -f1)
Deb_Version=$(cat /etc/debian_version)

私も同意する

echo $host $hostname  $Pub_IP  $Kernel_Version $Deb_Version > info.txt

各パラメータの間にどのように配置するかを調べる必要があります|。したがって、私のinfo.txtファイルを見ると、次のようになります。

 | debianmachine | output_of_hostname | output_of_Pub_IP |

そして印刷でもできますか?

ベストアンサー1

文字列を引用またはエスケープすると、パイプを含めることができます。

echo "| ${host} | ${hostname} ..."

もちろん、次のprintfものを使用することもできます。 (質問の最後で要請した内容だと思います。)

printf '| %s | %s | %s ...' "${host}" "${hostname}" "${Pub_IP}" ...

反復動作を利用してprintfフォーマット文字列を簡素化できます。

printf '| %s ' "${host}" "${hostname}" "${Pub_IP}" ...; printf '|\n'

これにより、| %s必要なだけシーケンスが繰り返され、パイプとキャリッジリターンで行が終了します。

おすすめ記事