オプションを含むシンボリックリンク

オプションを含むシンボリックリンク

特定のオプション/引数を使用して実行可能ファイルを実行するシンボリックリンクを生成できますか?

1つの回避策は、PATHディレクトリの1つにbashスクリプトを作成することですが、シンボリックリンクを介して何とか達成できますか?

編集:答えてくれてありがとう。私の場合は、dmenuでmatlabを起動する方法を探していましたが、少なくともアーチmatlabは最初に端末でのみ呼び出すことができたため、エイリアスはこれを実行できませんでした。 dmenuはエイリアスを考慮していないため、機能しません。質問をより明確にする必要があります。

ベストアンサー1

いいえ、シンボリックリンクは他のファイルへのパスを参照するファイル形式です。

今これを行う:

ln -s /bin/cat foo

次のように呼び出されますfoo

$ ./foo -A /proc/self/cmdline
./foo^@-A^@/proc/self/cmdline^@

あなたは気づくでしょう最初cat/受け取った引数はありませfooん。したがって、ある意味では、対応するシンボリックリンクを通じて、私たちは異なる結果を得ます。./foocatcat最初議論。これはあなたが望むものではないかもしれません最初議論にもかかわらず。

シェルスクリプトラッパーを使用することがこの問題を解決する一般的な方法です。ただし、bashこれに使用する必要はありません。あなたのシステム標準は、sh次の要件を満たすのに十分です。

#! /bin/sh -
exec /path/to/my/executable --extra-option "$@"

他のオプションには、/...でこれまたは関数をalias定義することが含まれます。~/.bashrc~/.zshrc

おすすめ記事