コマンドラインプログラムを実行するときは、デフォルトでそれを渡したいと思います。
myprog --foo=bar
私が考えることができる解決策は、 "bin"フォルダにカスタム "myprog"ラッパーを追加することです。
#! /bin/sh
/usr/bin/myprog --foo=bar $@
良いことは、システムを設定したので、binフォルダがインタラクティブシェルとGUIアプリケーションの両方のPATHにあるので、どこからでもmyprogを呼び出すとデフォルトで--fooフラグが渡されることです。アプリケーションメニューからmyprogを選択します。
しかし、私はラッパースクリプトで絶対パスを使用するのが好きではありません/usr/bin/myprog
(そうでなければ無限ループに陥ります)。もっと良い方法がありますか?
ベストアンサー1
あなたはそれを使用することができますalias
。からman sh
:
エイリアスエイリアスは、alias(1)組み込みコマンドを使用して設定した名前とその値です。予約語が表示されるたびに(上記を参照)、予約語を確認した後、シェルはその単語がエイリアスと一致することを確認します。その場合、入力ストリームの値に置き換えられます。たとえば、値が「ls -F」で名前が「lf」のエイリアスがある場合は、次のように入力します。
lf foobar ⟨return⟩
would become
ls -F foobar ⟨return⟩
エイリアスは、初心者ユーザーにパラメータを使用して関数を作成する方法を学ぶことなく、コマンドの略語を作成する便利な方法を提供します。語彙的にあいまいなコードの作成にも使用できます。この使用はお勧めできません。