Funktion mit Watch-on-Befehl mit Befehlszeilenargumenten

577
DilithiumMatrix

Ich möchte watcheinen Befehl ausführen, der ein optionales Befehlszeilenargument wie folgt verwendet:

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

Das Befehlszeilenargument wird jedoch nicht verwendet, dh es wird immer nur der Standardwert verwendet. Ich habe versucht , $wie in dieser Antwort zu entkommen (zB watch -n 10 'squeue -p \$ -o "%.8i" '), aber das hat auch nicht funktioniert.

Jede Hilfe geschätzt.

2

1 Antwort auf die Frage

4
Eric Renouf

Versuchen Sie es, wenn die Dinge in einfachen Anführungszeichen stehen

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

Die äußeren Anführungszeichen sind also doppelt, wodurch die Variablen innerhalb des Strings erweitert werden