Когда я выполняю эту команду
port=3128
echo $port:localhost
, я получаю 3128ocalhost
в качестве вывода.
PS : Когда я меняю первый символ 'l', он работает нормально. Я даже не могу погуглить.
Попытка этот отрывок кода, это, хорошо работает для меня:
#!/bin/sh
PORT=3128
echo "$PORT:localhost"
#output: 3128:localhost
В Bash ваш код работает.
Попробуйте указать оболочку, как ...
(в скрипте)
#!/bin/bash
port=3128
echo $port:localhost
(в клемме)
export SHELL=/bin/bash
port=3128
echo $port:localhost
в ZSH, : l
является в качестве модификатора , что делает расширение строчных букв. Поскольку порт является номером, вы не получили этот дополнительный подсказку, но если мы поставьте несколько прописных символов, разница видна.
% port=AS10X
% echo $port:localost
as10xocalost
Чтобы сохранить : L
литерал в ZSH, избежать его: $ Port \: localost
.