Cosa fanno questi parametri?


0

Qual è il significato delle opzioni e dei parametri di questo comando?

exec su -s /bin/sh -c 'exec "$0" "$@"' root -- /opt/nsq/bin/nsqd

Nello specifico la --parte e cosa exec "$0" "$@"dovrebbe fare.

So che $0imposta un ciclo per lo script per continuare a funzionare.

Puoi ignorare la /opt/nsq/bin/nsqdparte. Questa è l'app che sto eseguendo.

Risposte:


1
exec

Il comando che esegue, su , sostituisce la shell senza creare un nuovo processo.

sudo -s /bin/sh -c 

L'utente sostitutivo esegue la shell specificata, / bin / sh ed esegue il comando seguente.

exec "$0" "$@"

Esegui comando $0, il nome dello script, (la tua prima variabile, cioè, /opt/nsq/bin/nsqd)

"$@"

con tutti gli argomenti, usando la citazione appropriata

--

Delimita l'elenco delle opzioni. Tutto ciò che segue, anche se iniziano con un hypen, sono considerati operandi. Ad esempio, sort -- -rlegge dal file denominato -rinvece di provare a usare '-r' come opzione.


Sei fantastico. Ottengo l'immagine e mi ha davvero aiutato, ma ho qualche altra piccola domanda. In questo caso, quando viene eseguito all'interno di uno script init, non dovrò utilizzarlo a meno che lo script init stesso non ottenga parametri dall'esterno? E solo un'altra cosa, che trovo un po 'difficile da capire Ogni volta che uso - è principalmente per scopi di scripting e praticamente ignora qualsiasi parametro dopo di esso? Quindi perché dovrei usarlo? Non posso mai usare i parametri. E questo - viene chiamato parametro? non sono riuscito a trovare qualcosa di veramente informativo al riguardo. Grazie!
user419758,

Ehi, grazie per il seguito. Se hai ulteriori domande su questo problema, fai clic sul link "modifica" sotto la domanda originale e rivedi la domanda originale, secondo le Regole della casa qui. In questo modo, la tua domanda viene migliorata e raffinata e quando gli altri la guardano, capiranno meglio il problema in questione.
K7AAY,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.