私は過去数ヶ月間 oh-my-sh を使ってきましたが、本当に気に入りました:) そして、カラー配列fg_bold[]があることを知り、その配列を使って色で情報メッセージをエコーできます。
例: echo $fg_bold[yellow] 「やってみよう!」
端末でこれを実行すると、魅力のように動作します。
しかし、新しいzshスクリプトを開いてコピーして貼り付けると失敗するようです($ fg_bold [yellow]が空です)。
#!/usr/bin/zsh#から取得
which zsh
echo $fg_bold[yellow] 「始めましょう!」
env
追加するより多くのfg_bold配列は合計には表示されませんprintenv
。私がここで何を見逃しているのでしょうか?
みんなありがとう
答え1
この変数は colors
自動ロード機能から抽出されます。
関数をロードして実行する必要があります。
autoload colors
colors
colors
この機能を必要としないプロンプト拡張を使用することもできます。
print -P %F{red}
または:
echo ${(%):-%F{red}}
とにかくこれは関連配列です。シェル変数は、環境にエクスポートできるかエクスポートする必要があるものではありません。宣言を表示するには、次のように使用しますtypeset -p fg_bold
(変数に-H
(隠し値)属性があるため、値が表示されるため、typeset -p
として属性を削除するtypeset +H fg_bold
か、またはで値を表示できますtypeset fg_bold
)。