すべてのサーバーに対してパスワードなしの認証を実行する管理サーバーの入力に基づいて、Red HatおよびSUSEサーバーの展開を取得しようとしています。エラーや出力は発生しません。以下のコードは次のとおりです。
version()
{
SERVERS='/HOME/servers'
read -p $'Enter the server name:\n' server_name
EXIST=`cat $SERVERS|grep -i $server_name|wc -l`
if [ $EXIST -gt 0 ];then
RELEASE1='ssh -q -o "StrictHostKeyChecking no" "$server_name" cat /etc/issue'
COUNT1=`ssh -q -o "StrictHostKeyChecking no" "$server_name" cat /etc/issue|wc -l`
VERSION1=`ssh -q -o "StrictHostKeyChecking no" "$server_name" cat /etc/issue|awk '/Red/ && /Hat/'`
COUNT2=`ssh -q -o "StrictHostKeyChecking no" "$server_name" cat /etc/issue|awk '/Red/ && /Hat/'|wc -l`
if [[ -f $RELEASE1 && -s $RELEASE1 ]];then
if [ $COUNT1 -gt 0 ];then
echo -e " $RELEASE1 "
elif [ $COUNT2 -gt 0 ];then
echo -e " $VERSION1 "
else
echo " "
fi
それ以外の場合は「」をエコーします。
フィリピン諸島
ベストアンサー1
10行目にはバックティックが2つあります。構文チェックには常に次のものを使用できます。住宅検査
$(...)
古代のバックティック形式の代わりにコマンド置換を使用することをお勧めします(そして読みやすい)。
ちなみに、または/etc/issue
同じファイルを解析する代わりに、インストールを介してリリースと配布情報を取得します。/etc/redhat-release
lsb_release