Функция, использующая наблюдение за командой с аргументами командной строки
Я хочу бежать 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'"
}
поэтому внешние кавычки являются двойными, которые затем будут выполнять расширение переменных внутри строки