という名前のシンボリック リンクを作成し、シンボリックxyz
リンク名を含むユーザーの入力をキャッチします。
例: ユーザーが次のように入力した場合:
xyz load aab\1.0.5
xyz load aab\1.0.5
より多くのことができる文字列として持ちたいです。
なぜ私は尋ねるのですか?(読み飛ばしてもいいもの)
この場合、この文字列の一部をディレクトリの名前と比較し、
- 一致しない場合にユーザーに警告を与える、または
- それ以外の場合と同じようにコマンドを実行します。
私がやりたいことは、module
コマンドを乗っ取ることです。
編集:エイリアスを使用する必要があると思います。
Edit2: 明確化
私がやりたいことはまさにこれです: ユーザーが入力したときmodule load program
or module load program/2.3.3
. 彼らが要求しているバージョンが特定のプラットフォームで利用可能かどうかを知る前に、コマンドを実行したくありません。フォルダを調べると、利用可能なバージョンを確認できます/app/firefox/.sys/@sys/
。
根本的な「問題」は、module
すべてのモジュールを SLES 10 と 11、32 ビットと 64 ビットで使用できるように設定されているため、場合によってはユーザーが自分のプラットフォームで使用できないバージョンをロードしようとすることです。
私は今、問題に気付きました.バージョンを入力しないと、デフォルトのバージョンが選択されます. しかし、スクリプトを使用してデフォルトのバージョンを簡単に見つける方法がわかりません。結果を出力するのはモジュール以外のものであるため、「(デフォルト)」を含むバージョンを取得するためのgrepmodule appname avail
は機能しません。たとえばmodule firefox avail >> result.text
、空のファイルを提供します。