Мои множественные переменные в функции не выражаются как псевдонимы. Я думаю, что мой синтаксис неисправен - PullRequest
0 голосов
/ 02 мая 2020

В bashr c у меня есть эта функция тревоги, которая может принимать 3 переменные:

`a () {
    local $1="${1:-3600}"
   local $2="${2:-paa}"
   local $3="${3:-alarm}"
    sleep "$1" && $2 && $3
}
alias pah='pactl set-card-profile 0 output:hdmi-stereo'
alias paa='pactl set-card-profile 0 output:analog-stereo'
alias alarm='vlc ~/alarm.mp3'`

В командной строке следующая команда выполняет мои псевдонимы нормально. sleep 3600 && paa && alarm

Однако, когда я пытаюсь сделать эту часть функции показанной выше, я получаю эту ошибку: bash: pah: command not found

Также: $ 1, $ 2, $ 3 * * Для переменных 1011 * по умолчанию 3600 , paa и alarm . Меня также смущает, как я мог бы написать вызов этой функции с вводом в $ 3, при этом позволяя по умолчанию $ 1 и $ 2.

т.е. a null null alarm2

...