Функции в bash со специальными параметрами - PullRequest
0 голосов
/ 04 марта 2010

в bash-скрипте Я реализую некоторые функции, которые принимают параметры

Проблема в том, что параметры, установленные для понедельника, являются КОНЕЦ НЕДЕЛИ

Как я могу передать этот параметр функции, чтобы функция

function week{
TIME=$1
}

занимает $TIME "END OF THE WEEK", а не только "END"?

Ответы [ 4 ]

2 голосов
/ 04 марта 2010

Заключите переменную в двойные кавычки, чтобы предотвратить разбиение слов, но интерполируйте значение переменной. Строки в одинарных кавычках подвергаются еще меньшей обработке.

function week {
    TIME="$1"
}

week 'END OF THE WEEK'
2 голосов
/ 04 марта 2010

Вы можете использовать:

TIME="$*"

для получения всех параметров, соединенных вместе, как в:

#!/bin/bash
function week {
        TIME="$*"
        echo "${TIME}"
}
week end of the week

, который выдает (используются все четыре аргумента):

end of the week

Если вы хотите сохранить пустое пространство. Вы можете передать его в виде строки в кавычках.

#!/bin/bash
function week {
        TIME="$*"
        echo "${TIME}"
}
week "end        of the week"

который выдает (из единственного аргумента):

end        of the week
0 голосов
/ 04 марта 2010
function week {
  TIME="$1"
}

- редактирование синтаксиса замедлило меня;)

0 голосов
/ 04 марта 2010
function week {
  TIME="$1"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...