Это может сработать
# slurp the accounts file into a variable
accounts=$(< accounts.json)
# create the json, escaping the accounts quotes along the way
printf -v json '{"Args":["InitLedgerAdvanced","%s"]}' "${accounts//\"/\\\"}"
# and invoke the command
peer chaincode invoke -n cc -C channel1 -c "$json"
Если это все еще вызывает у вас затруднения, вам придется найти способ передать аргумент -c
в «peer» через стандартный ввод или файл, а не в качестве аргумента командной строки.
«Пакеты-бумеранги» (, отправленные с одного локального интерфейса, полученные на другом локальном интерфейсе ), считаются ошибкой маршрутизации (зацикливаются где-то там )и по умолчанию отбрасываются ядром.
Кроме того, с фиктивными устройствами сложно работать.
Лучший подход :Создайте сетевое пространство имен (или два ), поместите пару veth между сетевым пространством имен и основным пространством имен (или двумя сетевыми пространствами имен ). Мост не нужен. Затем тестируйте все, что хотите.
Запустите xterm
в каждом пространстве имен, чтобы упростить себе жизнь.
Вот сценарий, который я использую для этого. Измените, как вам нравится.
#!/bin/bash
# Setup network namespace with veth pair, start xterm in it
# nsterm ns0 veth0 10.0.0 yellow 24
#
# tested: yellow, lime, orange, cyan
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root" 1>&2
exit 1
fi
NS=${1:-ns0}
DEV=${2:-veth0}
DEV_A=${DEV}a
DEV_B=${DEV}b
ADDR=${3:-10.0.0}
ADDR_A=${ADDR}.254
ADDR_B=${ADDR}.1
MASK=${5:-24}
COL=${4:-yellow}
# echo ns=$NS dev=$DEV col=$COL mask=$MASK
ip netns add $NS
ip link add $DEV_A type veth peer name $DEV_B netns $NS
ip addr add $ADDR_A/$MASK dev $DEV_A
ip link set ${DEV}a up
ip netns exec $NS ip addr add $ADDR_B/$MASK dev $DEV_B
ip netns exec $NS ip link set ${DEV}b up
ip netns exec $NS ip link set lo up
ip netns exec $NS ip route add default via $ADDR_A dev $DEV_B
ip netns exec $NS su -c "xterm -bg $COL &" your_username
Я думаю, что ответ (команды )здесь легко понять и следовать ему. Для пары veth ping не распознает имя интерфейса, а tc qdisc netem не работает