使用带有命令行参数的 watch on 命令的函数

使用带有命令行参数的 watch on 命令的函数

我想要运行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'"
} 

因此外引号是双引号,这将在字符串内进行变量扩展

相关内容