(とにかく)スクリプトを実行できます。
$ assemble.sh file
... [output]
しかし、which
見つかりません:
$ which assemble.sh
which: no assemble.sh in (/s/std/bin:/usr/afsws/bin:/opt/SUNWspro/bin:/usr/ccs/bin:/usr/ucb:/bin:/usr/bin:/usr/stat/bin:/usr/X11R6/bin:.
- どうやってこれができますか?
- このファイルがどこにあるのか、どうすればわかりますか?
バッシュを使っています。
答え1
次のコマンドを使用します。 type assemble.sh
さまざまなシェルで動作し、最初の結果のみを表示します。
答え2
または、パスを分割して検索に使用します。最初の一致は解決策でなければなりません。
find ${PATH//:/ } -maxdepth 1 -name assemble.sh -print -quit
type
もちろん簡単です。
答え3
Bashを使用している可能性がありますが、構文出力は以前のcsh作成構文をwhich
使用していることを示しています。which
PATHは括弧内に表示され、PATHのディレクトリにはSolarisでのみ意味があるもの/opt/SUNWspro/bin
と同じ項目があります。/usr/ccs/bin
これは一貫性があります。 Solarisはcshを使用しますwhich
。
私の考えでは、bashへのパスが1つあり、cshへのパスが異なることです。これはシステムの問題かもしれません。私が覚えているように、Solarisはシステム全体のPATH設定のために/etc/profileと/etc/cshrcファイルを維持しています。 2つの初期化ファイルは、異なるシェルに対して異なるPATH変数を設定できます。 bashで "echo $ PATH"を実行して、which
コマンドで印刷されたPATH文字列と一致することを確認してください。
答え4
locate assemble.sh
を使用してファイルの場所を見つけることができます。