Ich möchte eine MySQL-Datenbank von einem Bash-Skript aktualisieren, indem ich den Wert auf eine Variable aus demselben Skript setze.Mysql-Wert mit einer Bash-Variablen aktualisieren
./dbup.sh 10.10.10.122
Derzeit ist das Update setzt den Wert auf $IP
:
mysql: [Warning] Using a password on the command line interface can be insecure.
+----+----------+------------+--------------+------------+-------------+
| id | g_id | dest_uri | resources | p_mode | desc |
+----+----------+------------+--------------+------------+-------------+
| 2 | 1 | $IP | xmpp=300 | 0 | |
+----+----------+------------+--------------+------------+-------------+
erwarte ich:
mysql: [Warning] Using a password on the command line interface can be insecure.
+----+----------+------------+--------------+------------+-------------+
| id | g_id | dest_uri | resources | p_mode | desc |
+----+----------+------------+--------------+------------+-------------+
| 2 | 1 | xmpp:10.10.10.122:5222|xmpp=300| 0 | |
+----+----------+------------+--------------+------------+-------------+
Version
Mysql 5,7
IP=$1
IP="xmpp:`echo $IP`:5222"
#IP='10.10.10.122'
echo $IP
mysql -ulol -plol -Ae 'update cs.load_b set dest_uri="$IP" where group_id="1" limit 1;'
mysql -ulol -plol -Ae 'select * from cs.load_b;'
wird der Code wie folgt ausgeführt .17, CentOS 7
Antwort auf chepner:
48 # Network Address qualifier
49 qualify_ip() {
50 echo ".................................................."
51 if [[ $1 =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
52 OIFS=$IFS
53 IFS='.'
54 ip=($1)
55 IFS=$OIFS
56 [[ ${ip[0]} -le 255 && ${ip[1]} -le 255 \
57 && ${ip[2]} -le 255 && ${ip[3]} -le 255 ]]
58 echo ".................................................."
59 echo "$1 is a valid network address"
60 echo ".................................................."
61 else
62 echo ".................................................."
63 echo "$1 is not a valid network address. Exiting."
64 echo ".................................................."
65 exit 1
66 fi
67 echo ".................................................."
68 }
..
365 qualify_ip $IP
ich nur mit, was für die Frage notwendig war.
Was ist der Wert von $ PUBLIC_IP hier? – Inian
Was noch wichtiger ist, was tun Sie, um den Wert von 'PUBLIC_IP' zu validieren, bevor Sie ihn zum Erstellen einer SQL-Anweisung verwenden? – chepner