ksh
からfish
に移行しています。私は、連想配列、ハッシュテーブル、辞書、またはあなたがそれを呼び出すことを望むものを定義する能力が不足していることを発見しています。いくつかの例は、fish shell ---ハッシュテーブル、連想配列、またはキー値ストアをシミュレートまたは実装する方法
set dictionary$key $value eval echo '$'dictionary$key
のようにシミュレートすることができる。しかし、このアプローチは大きく制限されています。たとえば、$key
には、文字、数字、および下線のみを使用できます。
私はfish
アプローチは1が利用可能なときに外部コマンドを見つけることであることを理解し、それが「ユニバーサル」スコープに私を制限するので、私は、でも/run/user/<uid>
で、ファイルシステム内のキーと値の情報を格納するために少し消極的です。
fish
プログラマーはキー値ストアの不足を回避する方法を教えてください。私はちょうど行方不明のいくつかの簡単なアプローチはありますか?
私が解決したい問題の例を次に示します。特定のディレクトリがprompt_pwd
を使わずに特殊な略語を使用して印刷するように、fish_prompt
関数を修正したいと思います。私は確かにswitch
コマンドでこれを行うことができましたが、私は多くの場合汎用の辞書を持っているので、ディレクトリを検索して省略形があるかどうかを調べることができます。次に、関数を編集するのではなく、set
を使用して略語を変更することができました。
問題#390(https://github.com/fish-shell/fish-shell/issues/390)でリクエストされています。そのような時間が実現するまでは、以下のfahoで提供されるようなソリューションを使用して不足をハックするさまざまな方法があります。 –