элементы доступа в массиве строк - отклоняются символ

Каталог, о котором запрашивает Дурак, является каталогом по умолчанию, содержащим почтовые ящики. (Это не самостоятельно почтовый ящик.) Это - каталог, который сократил как + в начале почтового ящика соединяют каналом в Дураке. Вы не можете полностью отключить опцию (Дурак хочет + для значения чего-то) но можно изменить местоположение к чему-то, что существует как / или Ваш корневой каталог путем установки folder опция.

set folder=~
2
17.03.2015, 09:24
3 ответа

элемент - это скалярная строковая переменная (не массив), поэтому вы должны сказать

item_arr=($item)

, а не

item_arr=($item[@])

, если $ item Быстрая коричневая лиса , то

item_arr=($item[@])

становится

item_arr=(The quick brown fox[@])
2
27.01.2020, 22:00

Вы Правильно, что awk будет проще.

Пример источника /tmp/test2.txt:

$ cat /tmp/test2.txt
192.168.1.152 pwd username https
$ awk '{print $4 "://" $1 ":" $3 "@" $2 "/control/configinfo" }' /tmp/test2.txt
https://192.168.1.152:username@pwd/control/configinfo
1
27.01.2020, 22:00

Если вы хотите более простой способ сделать это в чистом Bash , Предполагая, что вам не нужно держать содержимое файла (IP-адреса, имена пользователей, пароли и т. Д.) В памяти оболочки (то есть в массиве), Вы можете сделать это:

while read ip_address pwd username protocol
do
        echo "${protocol}://${ip_address}:$username@$pwd/control/configinfo"
done < test_file1.txt

Это может быть легче поддерживать, чем решение awk .

1
27.01.2020, 22:00

Теги

Похожие вопросы