私のタブが完了しましたBASH
(debian
) は、2 つのコマンドを組み合わせた異なる数字を示しています。いくつかの点では、権限が高いほど、より多くのコマンドを実行できます(例:sudo
。
;
明らかにとのつながり方&&
は若干異なります。
- それらの違いは何ですか?
- 権限を持つユーザーがアクセスできるコマンドの数の違いが減るのはなぜですか
root
?私は数字が増加すると予想します(違い)。 (最も可能性が高い/一般的な理由)
nepumuk@nepumuk:~$
Display all 2216 possibilities? (y or n)
nepumuk@nepumuk:~$ date ;
Display all 2214 possibilities? (y or n)
nepumuk@nepumuk:~$ date &&
Display all 2216 possibilities? (y or n)
nepumuk@nepumuk:~$ date ; sudo
Display all 2729 possibilities? (y or n)
nepumuk@nepumuk:~$ date && sudo
Display all 2730 possibilities? (y or n)
nepumuk@nepumuk:~$ date ; man
Display all 8127 possibilities? (y or n)
nepumuk@nepumuk:~$ date && man
Display all 8127 possibilities? (y or n)
編集1:また、このクエリを実行して再起動すると、「可能性の数」が1つまたは2つ増加するという事実も見つかりました(ある程度予測可能なマニュアルの数に加えて).....
再現可能な動作が発生してから数回そうしました。
nepumuk@nepumuk:~$
Display all 2221 possibilities? (y or n)
nepumuk@nepumuk:~$ date ;
Display all 2221 possibilities? (y or n)
nepumuk@nepumuk:~$ date &&
Display all 2221 possibilities? (y or n)
nepumuk@nepumuk:~$ date ; sudo
Display all 2735 possibilities? (y or n)
nepumuk@nepumuk:~$ date && sudo
Display all 2735 possibilities? (y or n)
編集2sudo
:「enable」を使用して一部のコマンドを実行することはできません。
nepumuk@nepumuk:~$ sudo alias
sudo: alias: command not found
sudo
したがって、コマンドの数(より正確にはコマンドセット)を使用するかどうかによって異なります。
答え1
私は表示された「可能性」が必ず実行できるプログラムではないと思います。たとえば、と入力すると、man
実行できるタスクがたくさんあることが示されますman
(例man ls
:)。ルートかどうかに関係なく、実行できるコマンドの数は非常に似ている必要があります。ルートでない場合でも同じプログラムを実行できます。プログラムがroot権限を取得できない場合、エラーが報告されます。
&&
との違いは;
簡単です。&&
右側のコマンドは、左側のコマンドが正常に完了した場合にのみ実行されます。;
右側のコマンドは、左側のコマンドの完了方法に関係なく実行されます。行動は&&
いわゆる話すことによって起こります。段落評価。
具体的には、&&
右側のコマンドは次の場合にのみ実行されます。終了コード左コマンドの値は 0 です。対照&&
的に||
、右側のコマンドは、左側のコマンドがゼロ以外の終了コードを返す場合にのみ実行されます。