2

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

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

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

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

1 ответ1

4

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .