
-S mount nfs -o proto=tcp,port=2049 … etc.
したがって、他のLinuxシステムの場所をマウントするためのスクリプトがあります。どういう意味ですか-S
?この機能があるかどうかにかかわらず、うまくいくようです(gksu -- -S mount … etc.
ターミナルエミュレータなしで実行すると動作しません)。何らかの理由で実際に必要なのか、それとも結果がなくても仕事-S
のために捨てることができるのだろうか?gksu --
編集証を保護するために、IPアドレスとパスを変更して参照用に作成したスクリプトは次のとおりです。
#!/bin/bash
if mountpoint -q /home/myLaptop/myDesktop
then
notify-send -t 3000 "Warning" "It is already mounted."
else
gksu -- -S 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
答え1
--
「オプションの終わり」を示します。後続の引数はダッシュで始まってもオプションとは見なされません。これは準普遍的な習慣です。したがって、gktu -- -S mount …
コマンドを実行することを意味します-S
。
$ gksu -- -S whoami
sh: 0: Illegal option -S
代わりに使用する-S
オプションを渡したいと思います。それが最初に来なければなりません。gksu
sudo
su
--
$ gksu -S -- whoami
root
実際にそうしなければなりません。そうでなければ、オプションはそれについてではなく、それ自体について考慮されるから--
です。gksu
-o
mount
答え2
私が受け入れた他の答えと少し混乱があるので、私の質問に正確に答える答えを自分で書いてみましょう。オリジナル。
-S
最初に想定したように、別のコマンドではありません。それはどちらにも関係ありませんmount
。これはsudo
and / orの引数ですgksu
(使用するコマンドに応じて他の操作を実行します)。 (だからgksu -S --
代わりに使うべきですgksu -- -S
。)だからそれが-S
私が知りたいのです。しかし、それ以上の意味を説明するためにヘルプを引用します。
gksu -S
「GKSuが「gksudo」として実行されているように、suの代わりにsudoを使用するようにしてください。」という意味です。sudo -S
「標準入力からパスワードを読みます」を意味します。
gksu -S
より簡単で読みやすく使用できる場合は、あえて使用する必要もないようですgksudo
。sudo -S
一方、パスワードにはある程度重要性があるかもしれません。
ルート(実際にはルートではない)でコマンドを実行するだけです。これがWithoutの代わりにgksudo
orを使用する理由です。gksu -S
gksu
-S
--
-S
の一部でもまだそこにあるはずです。gksu
それ以外の場合は-o
パラメータとして解釈されますgksu
。
したがって、修正されたコードは次のようになります。
#!/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