Функция, использующая наблюдение за командой с аргументами командной строки

Я хочу бежать watch в команде, которая использует необязательный аргумент командной строки, например:

function queue() {
    watch -n 10 'squeue -p ${1:-default} -o "%.8i" '
} 

но аргумент командной строки не используется, то есть по умолчанию используется только когда-либо. Я пытался избежать $ согласно этому ответу (например, watch -n 10 'squeue -p \${1:-default} -o "%.8i" '), но это тоже не сработало.

Любая помощь приветствуется.

1 ответ

Решение

Когда все в одинарных кавычках, расширение переменной не происходит, попробуйте

function queue() {
    watch -n 10 "squeue -p ${1:-default} -o '%.8i'"
} 

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

Другие вопросы по тегам