Debian Jessie (8) с использованием рабочего стола Parallels

$ @ в двойных кавычках заменяется несколькими словами. bash -c принимает строку в качестве параметра, но за ней могут следовать другие слова , которые затем назначаются позиционным параметрам, начиная с $ 0.

Таким образом, вы можете отправить параметры в код внутри bash -c следующим образом:

Test () { bash -c 'echo $@' -- "$@" ; }
Test "a b" c

Это работает и для вас:

Test () { bash -c 'testargs() { echo $@ ; } ; testargs $@' -- "$@" ; }
Test "a b" c

Если вы хотите сохранить параметры, состоящие из нескольких слов, добавьте double цитаты:

Test () {
    bash -c 'testargs() {
                 for a in "$@" ; do
                     echo "$a"
                 done
             }
             testargs "$@"' \
        -- "$@"
}
Test "a b" c

Я использовал Тест , так как тест уже существует и может запутать читателей.

0
12.12.2017, 16:20
1 ответ

¿Ha intentado reinstalar Parallels Tools como dice el mensaje? Eso parecería solucionar el problema que tienes.

2
28.01.2020, 02:32

Теги

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