Почему разделитель из IFS не работает для расширения массива?

(преобразование комментария в ответ)

Можно использовать аргумент -loop перезапустить x11vnc в цикле. На странице руководства:

Создайте внешний цикл, перезапускающий процесс x11vnc при его завершении. -bg и -inetd игнорируются в этом режиме (однако см. -loopbg ниже).

Полезно для продолжения, даже если X-сервер завершает работу и перезапускается (конечно, в этот момент процессу потребуется разрешение для повторного подключения к новому X-серверу).

4
14.10.2019, 18:29
1 ответ

Comparar:

$ myarr=(1 2 3)
$ printf '%s\n' $( IFS="|"; echo "${myarr[@]}" )
1
2
3
$ printf '%s\n' $( IFS="|"; echo "${myarr[*]}" )
1|2|3

De man bash:

@
… When the expansion occurs within double quotes, each parameter expands to a separate word. That is, "$@" is equivalent to "$1" "$2"...

*
… When the expansion occurs within double quotes, it expands to a single word with the value of each parameter separated by the first character of the IFS special variable. That is, "$*" is equivalent to "$1c$2c...", where c is the first character of the value of the IFS variable.

La descripción anterior es para parámetros posicionales, pero también se aplica a las expansiones de matrices.

3
27.01.2020, 20:49

Теги

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