お知らせがwhich
がPATH
variableを検索していること。 thisを参照してください。指定されたユーザーは、$PATH
に記載されているパッケージシステムによって管理されていないディレクトリ(たとえば、$HOME/bin/
または/usr/local/bin/
...)を持っている可能性があります。
Linuxは、心臓がmulti-userシステムであることを忘れないでください。たとえば、私の妻と息子は同じPCを使用できます。異なるユーザーは$PATH
の設定が異なる可能性がありますので、異なるセットのプログラムを使用します(たとえば、execvp(3)または同等のものをシェルから呼び出すなど)。
私は、ユーザーがいくつかの独自の
google-chrome
プログラムを持っている場合は、システム全体のレベルでは、
google-chrome-stable
パッケージをインストールする必要がありますとは思わない
(例えば、彼の他のいくつかの手順を通して設置$HOME/bin/
、中)しかし、あなた(とおそらくあなたのユーザー)は、その場合に何をするかを決定する必要があります。
代わりに、google-chrome-stable
パッケージがインストールされているかどうかをテストします(しかし、あなたが求めているものと異なることをしています)。
おそらく、あなたは私は、自動インストール、ユーザーの明示的および事前の同意なしに任意のパッケージは良いアイデアだとは思わない、ところで
if dpkg -l google-chrome-stable >& /dev/null ; then
echo google-chrome-stable is installed
fi
をテストすることがあります。代わりに彼にインストールを提案する必要があります(それはおそらくシェル内の賢明な自動補完の問題です)。私のDebianシステムで
、/usr/bin/google-chrome
は/opt/google/chrome/google-chrome
へのシンボリックリンクである/usr/bin/google-chrome-stable
へのシンボリックリンクである/etc/altneratives/google-chrome
へのシンボリックリンクです。だから、realpath(1)で、私も
if dpkg -S $(realpath $(which google-chrome)) >& /dev/null ; then
echo some package gives google-chrome
fi
を使用している可能性があり、私はそれは良いアイデアだとは思いません。私は 'aptitude search'を使用して' aptitude install'を実行します。 –
exeample判事のgoogle-chrome使用シェル@Basile Starynkevitch –
にあなたのやり方を示すことができますか?これをやりたいのですか?**あなたの質問を編集して**改善してください)。私の答えはいくつかの手がかりを与えた。 –