[解決済み] bashのプロンプトが更新されないのですが?
2023-04-30 13:56:16
質問
私はgitの初心者で、既にあるプロンプトに現在のgitブランチを追加しようとしています。プロンプトは次のように定義されています。
RESET="\[\017\]"
NORMAL="\[\033[0m\]"
RED="\[\033[31;1m\]"
YELLOW="\[\033[33;1m\]"
WHITE="\[\033[37;1m\]"
SMILEY="${WHITE}:)${NORMAL}"
FROWNY="${RED}:(${NORMAL}"
SELECT="if [ \$? = 0 ]; then echo \"${SMILEY}\"; else echo \"${FROWNY}\"; fi"
export PS1="${RESET}${YELLOW}\u@\h${NORMAL} \`${SELECT}\` ${YELLOW}\w $(__git_ps1) >${NORMAL} "
試してみました(ソースに私の
.bashrc
ファイルを再度ソースして) 試してみたところ、うまくいったように見えましたが、その後別のブランチに行ったところ、更新されませんでした。どうすれば
$(__git_ps1)
がキャッシュされないようにするにはどうしたらよいでしょうか?
どのように解決するのですか?
にはバックスラッシュが必要です。
$
にバックスラッシュが必要で、すぐに展開されません。 (比較対象は
`...`
という書き方は、別の方法で
$(...)
.)
export PS1="${RESET}${YELLOW}\u@\h${NORMAL} \`${SELECT}\` ${YELLOW}\w \$(__git_ps1) >${NORMAL} "
シングルクォートを使うことについては@MikeSepと同意見ですが、実は色などをすぐに代入させる方が少し最適なのです。 必須ではありませんが、ただ多少はマシです。 とはいえ、それは は 一重引用符を使えば、何が起こっているのか理解しやすくなります。
関連
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] GitHubでフォークされたリポジトリを更新または同期するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] Bash prints リテラルの改行をエコーする \n
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで文字列をデリミターで分割するには?
-
[解決済み】Bashでファイル名と拡張子を抽出する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
gitlab をアップロード ! [リモート拒否] dev -> dev (受信前のフックが拒否されました)
-
エラーが発生しました。マージされていないファイルがあるため、プリングはできません
-
致命的 リモートレフマスターが見つからない
-
ファイル名が長すぎるため、作業ツリーをチェックアウトできない警告が表示されました。クローンには成功しましたが、チェックアウトに失敗しました。
-
gitの利用(ssh鍵の作成とgithubの利用)。
-
Gitのコミットでfatal: unable to auto-detect email addressのエラーが報告される。
-
[解決済み] GitHubで2つのブランチの差分を取るには?
-
[解決済み] stash@{1}は曖昧?
-
[解決済み] IntelliJのShelveとGit stashの違いは何ですか?
-
[解決済み] gitで、stashを適用せずに、追跡されていないstashedファイルを表示する方法はありますか?