Como há alguma confusão na outra resposta que aceitei, vou escrever minha própria resposta, que responde exatamente ao que eu pedi, mas deixarei essa como a resposta aceita, já que ela responde à pergunta que minha pergunta foi editado para ser em vez do que era originalmente.
-S não é um comando independente como foi inicialmente assumido. Também não tem nada a ver com mount . É um argumento para sudo e / ou gksu (faz algo diferente dependendo de qual comando você usa). (Então, deve ser gksu -S -- em vez de gksu -- -S .) Então, é isso que -S significa no sentido que eu estava pensando. No entanto, para explicar o que significa além disso, citarei a ajuda:
-
gksu -S significa, 'Faça o GKSu usar sudo ao invés de su, como se tivesse sido executado como' gksudo '.'
-
sudo -S significa "ler a senha da entrada padrão".
Também parece ser desnecessário usar gksu -S quando você pode usar de forma mais legível gksudo . sudo -S , por outro lado, pode ter alguma importância com senhas.
Precisamos apenas executar um comando como root (na verdade, não é root). Então, é por isso que usamos gksudo ou gksu -S em vez de gksu sem -S .
-- ainda precisa estar lá, mesmo que -S faça parte de gksu . Caso contrário, -o será lido como um argumento para gksu também.
Então, aqui está o código alterado:
#!/bin/bash
if mountpoint -q /home/myLaptop/myDesktop
then
notify-send -t 3000 "Warning" "It is already mounted."
else
gksudo -- mount -t nfs -o proto=tcp,port=2049 192.168.0.x:/home/myLaptop /home/myLaptop/myDesktop
if mountpoint -q /home/myLaptop/myDesktop
then
notify-send -t 3000 "Alert" "Mounted."
else
notify-send -t 3000 "Alert" "Mount failed."
fi
fi