What's the difference and when would I want to use
eth0:1
— это дополнительный интерфейс -, например, вы можете отключить дополнительный интерфейс -независимо или пометить трафик с помощью идентификатора VLAN ID на дополнительном интерфейсе -.ifconfig tool doesn't seem to find the IP when it's added as IPADDR1 under the same ifcfg file
Вы должны использовать пакет iproute 2 вместо инструментов net -. Вы можете найти свой второй IP-адрес с помощью
ip addr
. ip route2 — это новый пакет для сетевого пользовательского пространства. `ifconfig устарелутилиты net -устарели с помощью iproute2
$ ip addr 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp1s0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8f:8c:86 brd ff:ff:ff:ff:ff:ff inet 192.168.122.197/24 brd 192.168.122.255 scope global dynamic noprefixroute enp1s0 valid_lft 3546sec preferred_lft 3546sec inet 192.168.122.11/24 brd 192.168.122.255 scope global secondary noprefixroute enp1s0 valid_lft forever preferred_lft forever inet6 fe80::4d61:1d19:14a4:a8dc/64 scope link noprefixroute valid_lft forever preferred_lft forever
Не используйте эхо при вызове команды.
Вы можете либо воздержаться от использования одинарных кавычек. Если вы решите это сделать, вам нужно избежать кавычек в вызове команды:
curl -i -k -X POST -H "Content-Type: application/json" --data "{ \"id\":2,\"timestamp\": \"${a}\",\"data\": \"${D}\"}" https:......
Или, если вы хотите использовать одинарные кавычки, вам нужно выполнить конкатенацию строк, что означает конец ваших одинарных кавычек перед вашей переменной и продолжение их после (, как предложил «никто»:
curl -i -k -X POST -H "Content-Type: application/json" --data '{ "id":2,"timestamp": "'"${a}"'","data": "'"${D}"'"}' https:......
Если вы настаиваете на использовании эха, вам нужно использовать вывод эха в вызове:
curl -i -k -X POST -H "Content-Type: application/json" --data "{ \"id\":2,\"timestamp\": \"$(echo ${a})\",\"data\": \"$(echo ${D})\"}" https:......
Во-первых, у вас неверный синтаксис цикла. for i in 1.. 10
запустится три раза. Один раз для 1
, один раз для ..
и один раз для 10
. Чтобы получить числа от одного до десяти, вам нужно for i in {1..10}
. Затем используйте одинарные кавычки внутри вашей команды curl
, чтобы вы могли использовать двойные кавычки снаружи, чтобы переменные были расширены. Примерно так:
#!/bin/bash
for i in {1..10}
do
a=$(date '+%s')
D=$(sensors)
curl -i -k -X POST -H "Content-Type: application/json" \
--data "{ 'id':2,'timestamp':$a,'data':$D}" https:......
sleep 1
done
Или,если вам нужно, чтобы и имя тега, и значение были заключены в кавычки, используйте:
#!/bin/bash
for i in {1..10}
do
a=$(date '+%s')
D=$(sensors)
curl -i -k -X POST -H "Content-Type: application/json" \
--data "{ 'id':'2','timestamp':'$a','data':'$D'}" https:......
sleep 1
done