デフォルトでは、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
必要なだけシーケンスが繰り返され、パイプとキャリッジリターンで行が終了します。