0

~/.bash_aliasesMakefileを介してユーザーにエイリアスを設定する方法があるかどうか疑問に思っていました。

foo.shあなたが渡したものを出力するというbashスクリプトがあるとしましょう。例えば:

入力
sh foo.sh bar

出力
bar

今、私の Makefile では、次のようなものが必要です。

install:
    @echo "alias foo=sh foo.sh $@" << ~/.bash_aliases

したがって、ユーザーが行うたびmake installに、自動的にfooエイリアスが利用可能になります。次に、最後の入力を行う代わりに、次のようにします。

入力
foo bar

出力
bar

そのようなことが可能かどうか誰にもわかりませんか?

前もって感謝します。

4

2 に答える 2

1

~/.bash_aliasesユーザーがMakefile を実行するたびに同じ行を追加してもよろしいですか?

また、bash を使用せずに別のシェルを使用するユーザーについてはどうzshでしょうか。

他のユーザーはどうですか?管理者が「インストール」を入力した場合make install、彼らは通常、自分自身だけでなく、システムのすべてのユーザーが「インストール」を利用できることを期待しています。

スクリプトfoo.shを として利用できるようfooにすることのみに関心がある場合は、おそらく というバイナリをインストールする必要がありますfoo

install:
    $(INSTALL) foo.sh $(bindir)/foo

ところで、Debian ポリシーでは、スクリプトを .sh 拡張子なしでインストールすることが義務付けられています。これは、スクリプトのサフィックスを付けてインストールするべきではないというヒントだと思います。

于 2013-01-22T08:59:04.717 に答える
0

どうですか:

install:
    @echo "alias foo=foo.sh" >> ~/.bash_aliases
于 2013-01-22T04:09:45.120 に答える