多くのサーバーからソフトウェアのバージョンを取得するためのスクリプトを作成しようとしています。しかし、試してみると、このエラーメッセージが表示されます。
bash:Postfix verzio:MariaDB verzio:OS verzio:Java verzio ::コマンドが見つかりません
bash:postfixverzio:コマンドが見つかりません
ヌルメッセージ本文。大丈夫だといいのですが
#!/usr/bin/env bash
parancsok=$(<verziok_lekerdezese.sh)
while read line
do
array=($line)
echo "IP Addresses : ${array[0]} "
ssh -t -t root@${array[0]} ${parancsok}
done < ipcimek_test.txt
Verziok_lekerdezese.sh:
postfixvr = $(postconf -d | grep -m 1 mail_version | cut -d= -f2)
mariadbvr = $(mysql -v)
osvr = $(cat /etc/redhat-release)
javavr = $(Java -version)
hostname = $(cat /etc/hostname)
body = "Postfix verzio: $postfixvr MariaDB verzio: $mariadbvr OS verzio: $osvr Java verzio: $javavr"
echo $body | mail -s "Verziok - Szervernev: $hostname" [email protected]
exit
英語が苦手なことをお詫びします。
Bashスクリプトの等しいchar=
(代入ステートメント内)の両側のスペースを削除する必要があります。だから、行:
postfixvr = $(postconf -d | grep -m 1 mail_version | cut -d= -f2)
mariadbvr = $(mysql -v)
osvr = $(cat /etc/redhat-release)
javavr = $(Java -version)
hostname = $(cat /etc/hostname)
次のように書く必要があります:
postfixvr=$(postconf -d | grep -m 1 mail_version | cut -d= -f2)
mariadbvr=$(mysql -v)
osvr=$(cat /etc/redhat-release)
javavr=$(Java -version)
hostname=$(cat /etc/hostname)
これは、body =
を含むすべての割り当てにも適用されます。