Как работать с несколькими массивами в чистом sh?

интересно .. помогли две вещи:

1) Intel VT-d был отключен в BIOS, ВКЛЮЧИТЕ его! (это решило проблему с графическим интерфейсом для гостевой системы Ubuntu, но не для CentOS)

2) Установите для звука для гостевой системы centos vbox значение «ALSA Audio Driver» с помощью «Intel HD Audio»

. Я не знаю, как адское аудио связано с графическим интерфейсом .. но это решило проблему ..

1
25.05.2017, 02:14
1 ответ

Мучительно.

Вместо этого вы можете использовать awk. Awk, даже BusyBox awk, может делать большую часть того, что может делать оболочка, только с большими синтаксическими издержками. И у него есть ассоциативные массивы, сколько угодно. Вы можете вызывать внешние команды через систему. Есть даже функции перенаправления и конвейерной обработки, хотя они более ограничены, чем в оболочке.

Если вам нужен awk-скрипт, который не принимает никаких входных данных, поместите весь код в блок BEGIN.

В вашем случае, если я правильно понимаю, что вы хотите сделать, вам не нужен awk. Вам не нужно cut для обработки строки TARGET: используйте расширение параметра. BusyBox ash и hush поддерживают ${VAR#PREFIX} и друзей. Это легко работает, если ваши пути не содержат пробелов.

mountbind() {
    for SOURCE in $SOURCES; do
        TARGET=${TARGETS%% *}; TARGETS=${TARGETS#* }
        su --mount-master mount -o bind "$SOURCE" "$TARGET" 1>>"$LOG"
    done
}
3
27.01.2020, 23:24

Теги

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