Почему процесс команды сна все еще работает в фоновом режиме, хотя я остановил его с помощью CTRL -Z?

Вы можете использовать split+glob (что происходит, когда вы оставляете раскрытие без кавычек в контекстах списка ). Он мешает нам большую часть времени, было бы стыдно не использовать его, когда он нам действительно нужен:

IFS=,
set -o noglob

ARR=($VAR) # split+glob with glob disabled, and split using, as delimiter

Это немного менее запутанно, чем запись временного файла и последующий вызов readarrayдля него, как в подходе readarray <<< "$string"(также обратите внимание, что readarray -dнужна самая последняя версияbash).

Обратите внимание, что несмотря на то, что SвIFS(означает разделитель ), он работает так же, как readarrayв том смысле, что a,,b,разбивается на "a", ""и только "b".

Для настоящего оператора расщепления вы можете использовать zshвместо:

ARR=("${(@s:,:)VAR}")

(@и двойные кавычки для сохранения пустых элементов ).

8
21.07.2021, 10:05
0 ответов

Теги

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