私は以下を持っています地位の権利:
set -g status-right "#{prefix_highlight}[wifi:#[fg=brightred]#(wifi_status)#[fg=yellow]|#[fg=brightgreen]#{cpu_icon}#[fg=yellow]:#{cpu_percentage}|#{battery_icon}:#{battery_percentage}:#{battery_remain}] %a %h-%d %H:%M:%S#[default]"
そしてその中のカスタムシェルコマンド無線ネットワークの状態。
関数を実行します(ワイヤレスネットワーク品質)Wi-Fiの状態を確認してから、以下を使用してください。炎。
wifi_status
これはファイルがあったときにうまくいきましたが、/usr/local/bin
私のドットファイルのバージョン管理リポジトリにありたいので、ファイルを.zsh
私のフォルダのbinフォルダに移動し、
$HOME/.zsh/bin
シェルターミナル(tmuxでも)でこのコマンドを使用しました。これで正しい出力が表示されます。
▁▃▅█
ただし、tmuxステータスバーには表示されなくなります。
どうなりますか?
フォルダがあり、$PATH
設定が再ロードされ、端末で動作し、ファイルが実行可能ファイルに設定されました。わかりませんが、今はうまくいかないのはなぜですか?
誰かが質問したので:
ターミナル()tmux new
を入力してtmuxを起動します。
私のオペレーティングシステムはOSXです。
xterm2を実行しています。
私のログインシェルは、Oh-My-Zshフレームワークを使用するZSHです。
私のドットファイルは次の場所にあります。ここ。
tmuxコマンドライン(プレフィックス)で、次の操作を行います。
set-environment PATH $PATH
PATH
変数を設定し、実行中に表示しますshow-environment
。
フォルダwifi_status
にコピーして貼り付けても問題は解決しませんでした(tmuxを再起動しても)。/usr/local/bin
スクリプトへのフルパスを作成することも役に立ちません。
問題を解決しました。何らかの理由でカスタム関数ファイルが正しく提供されなかったため、実行に失敗しました。関数をファイルに移動すると、問題が解決し、機能します。
答え1
あなたを見ている構成.zshrc
、includeに複数の環境変数を設定PATH
しないでください。このファイルは対話型シェルの起動時に読み取られるため、.zshrc
このファイルに設定されている変数は対話型シェルで起動されたプログラムでのみ使用できます。他の方法、特にGUIメニューで実行されているプログラムでは使用できません。
tmuxをどのように起動したのか言っていませんでした。これらの環境変数は、対話型シェルなしで起動した場合(たとえば、ログイン時間ファイルまたは対話型プロンプトではなくGUI端末内で直接入力するなど)、tmuxtmuxプロセスでは設定されません。
環境変数定義をログイン時に実行されるファイルに移動します。実行されるファイルはログインシェルによって異なりますが、GUIログインの場合は、デプロイメントとディスプレイマネージャに基づいてセッションを開始するためにシステムがどのように設定されているかによって異なります。ほとんどの設定はログイン時にシェルコードを実行するため、~/.profile
環境変数定義をここに配置してください。
ログインシェルがbashの場合はそうでないことを確認してください。~/.bash_profile
それ以外の場合は、次の2行のみが含まれます。
. ~/.profile
if [[ $- = *i* ]]; then . ~/.bashrc; fi
ログインシェルがzshの場合は、~/.zprofile
次の行を含める必要があります。
emulate sh -c '. ~/.profile'
または、ほとんどのシステムでこれを行うことができます~/.pam_environment
。このファイルの構文は、引用符、拡張などVARIABLE=VALUE
なしで簡単です。$
詳細については、次を参照してください。環境変数を設定するための最良の distro/shell 独立した方法は何ですか?