Ars は尋ねます: シェルを共有して、ダム端末を見せてください!

Ars は尋ねます: シェルを共有して、ダム端末を見せてください!


timer_stop この関数にはタイマーを人間が判読できる形式に変換する機能もありますが、これはおそらく必要以上に面倒です。ただし、私は開発者ではないため、Past Lee が例を数時間検索した結果、これに落ち着きました。

私のような人のために魚でそれをやる

これは、Linux ホストの 1 つに ssh 接続したときの bash 用ですが、MacOS 上で Fish を実行しています。そこで同じ結果を得るために別のfish関数を用意し、測定値を人間が読める形式に変換する粗雑なハックを使用しました。このコードを作成したのは私です。申し訳ありません。 StackOverflow ソースからタイル化されたフローを参照してください。

function fish_prompt --description 'Write out the prompt'
    # Save the last status
    set -l last_status $status

    # Calculate the command duration if available
    set -l cmd_duration ""
    if set -q CMD_DURATION
        # Convert milliseconds to microseconds for more precise comparison
        set -l duration_us (math "$CMD_DURATION * 1000")

        # Calculate different time units
        set -l us (math "$duration_us % 1000")
        set -l ms (math "floor($duration_us / 1000) % 1000")
        set -l s (math "floor($duration_us / 1000000) % 60")
        set -l m (math "floor($duration_us / 60000000) % 60")
        set -l h (math "floor($duration_us / 3600000000)")

        # Format duration string
        if test $h -gt 0
            set cmd_duration (string join '' "(" $h "h" $m "m)")
        else if test $m -gt 0
            set cmd_duration (string join '' "(" $m "m" $s "s)")
        else if test $s -ge 10
            set -l fraction (math "floor($ms / 100)")
            set cmd_duration (string join '' "(" $s "." $fraction "s)")
        else if test $s -gt 0
            set cmd_duration (string join '' "(" $s "." (printf "%03d" $ms) "s)")
        else if test $ms -ge 100
            set cmd_duration (string join '' "(" $ms "ms)")
        else if test $ms -gt 0
            set -l fraction (math "floor($us / 100)")
            set cmd_duration (string join '' "(" $ms "." $fraction "ms)")
        else
            set cmd_duration (string join '' "(" $us "us)")
        end
    end

    # Define unicode symbols for status
    set -l checkmark "✓"
    set -l cross "✗"

    # Colors
    set -l normal (set_color normal)
    set -l dark_gray (set_color 555555)
    set -l blue (set_color -o blue)
    set -l red (set_color red)
    set -l green (set_color green)
    set -l purple (set_color -o purple)

    # First line
    echo # New line
    echo -n -s $dark_gray "["(date +%T)"] $last_status " # Time in brackets and exit status

    # Status indicator with exit status
    if test $last_status -eq 0
        echo -n -s $green $checkmark
    else
        echo -n -s $red $cross
    end

    # Actually echo the duration
    echo -n -s $dark_gray " $cmd_duration"

    # Do the rest of the prompt
    echo
    set -l host_color $purple
    echo -n -s $host_color $USER "@" (prompt_hostname) $normal ":" $blue (prompt_pwd) $normal " \$ "
end

ペイントの斑点

ANSI BBS グラフィックに没頭して形成期を過ごしたおかげで、おそらく私は平均的な愚かなシステム管理者よりも、端末内の色付きのテキストが好きになったでしょう。構文の強調表示や色は一般的に理解を妨げ、流し読みを促すと感じている人もいると思いますが、何と言えるでしょうか?私は彼らを愛していますし、信頼しています。とりとめのない話が多すぎるかもしれないが、それはそれでいい。私のカラフルなケーシングツールを私の冷たくて死んだ手から奪ってください。

このために、私は GRC (Generic Colorizer の略) と呼ばれる小さなプログラムを利用して、他のツールにハイライトと色付けを追加します。これは広く利用可能であり、追加の構成を必要とせずに動作します。

Ars は尋ねます: シェルを共有して、ダム端末を見せてください!

多少の色なら問題なし!

リー・ハッチンソン

ping で ip a を使用する前後の画像

ちょっとしたあだ名があります(私はそれを保持しています) .bash_aliases 善良な市民のように)、いくつかの一般的なコマンドのデフォルトをカラー出力にします。

    alias ls="ls --color=auto"
    alias ll="ls -AlFh --group-directories-first"
    alias df="grc df -h"
    alias du='grc du -h'
    alias free="grc free -h"
    alias ping='grc ping'
    alias traceroute="grc traceroute"
    alias ip='grc ip'

私も自分の数字を人間が判読できるようにすることの大ファンです。 -h したがって、スイッチを自由に適用できます。

(次のようなコマンドを参照することに注意してください。 ip GRC は、その出力を他のものに渡すと、時々奇妙な動作をすることがあります。慎重に運転してください。か否か!それはあなたのコンピュータだ、ダメだ!)

端末自体

熱心な読者は、スクリーンショットから、はるかに優れたオプションがあるにもかかわらず、私がターミナル プログラムに MacOS の Terminal.app を使用していることに気づくでしょう。私の言い訳は、私は Terminal.app に満足していて、そこから引き離されるものは何もなかったということだと思います。私は、Ghostty、Alacritty、素晴らしい tmux Windows 統合を備えた強力な iTerm2、さらには Warp のようなターミナル エクスペリエンスの新しい解釈など、よくある候補を試してみました。

Leave a Reply

Your email address will not be published. Required fields are marked *

ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಚುನಾವಣಾ ಫಲಿತಾಂಶಗಳು ಸಿಎ ಚುನಾವಣಾ ಫಲಿತಾಂಶಗಳು ಚುನಾವಣಾ ಫಲಿತಾಂಶಗಳು ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಚುನಾವಣೆ ಚುನಾವಣಾ ಫಲಿತಾಂಶಗಳು ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಪ್ರಾಥಮಿಕ ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಪ್ರಾಥಮಿಕ ಫಲಿತಾಂಶಗಳು ಇಂದು ಪ್ರಾಥಮಿಕ ಚುನಾವಣಾ ಫಲಿತಾಂಶಗಳು ಸಿಎ ಗವರ್ನರ್ ರೇಸ್ ಫಲಿತಾಂಶಗಳು ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಗವರ್ನರ್ ಸ್ಟೀವ್ ಹಿಲ್ಟನ್ ಗವರ್ನರ್ ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಚುನಾವಣೆಗಳು ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಚುನಾವಣಾ ಫಲಿತಾಂಶಗಳು 2026 ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಗವರ್ನರ್ ರೇಸ್ ಫಲಿತಾಂಶಗಳು ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಸಿಎ ಪ್ರಾಥಮಿಕ ಫಲಿತಾಂಶಗಳು ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಪ್ರಾಥಮಿಕ 2026 ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಗವರ್ನರ್ ರೇಸ್ ಪೋಲ್ಸ್ ಕ್ಯಾಲಿಫೋರ್ನಿಯಾದ ಗವರ್ನರ್ ಅನ್ನು ಯಾರು ಗೆದ್ದರು ಲಾ ಗವರ್ನರ್ ರೇಸ್ ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಗವರ್ನರ್ ರೇಸ್ ಅನ್ನು ಯಾರು ಗೆದ್ದರು ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಪ್ರಾಥಮಿಕ ಫಲಿತಾಂಶಗಳು 2026 ಪ್ರಾಥಮಿಕ ಫಲಿತಾಂಶಗಳು ಸಿಎ ಗವರ್ನರ್ ರೇಸ್ ಸಿಎ ಚುನಾವಣಾ ಫಲಿತಾಂಶಗಳು 2026 ಗ್ಯಾವಿನ್ ನ್ಯೂಸಮ್ ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಫಲಿತಾಂಶಗಳು ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಗವರ್ನರ್ 2026 ಅನ್ನು ಯಾರು ಗೆದ್ದರು ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಗವರ್ನರ್ ಪ್ರೈಮರಿ ಕ್ಯಾಲಿಫೋರ್ನಿಯಾದಲ್ಲಿ ಗವರ್ನರ್ ರೇಸ್ ಅನ್ನು ಯಾರು ಗೆದ್ದರು ಸಿಎ ಪ್ರೈಮರಿ ಚುನಾವಣಾ ದಿನ ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಗವರ್ನರ್ ಫಲಿತಾಂಶಗಳು ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಗವರ್ನರ್ ಚುನಾವಣಾ ಫಲಿತಾಂಶಗಳು ಕ್ಯಾಲಿಫೋರ್ನಿಯಾದ ಫಲಿತಾಂಶಗಳು ಚುನಾವಣೆ ಸಿಎ ಪ್ರಾಥಮಿಕ ಚುನಾವಣೆ ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಚುನಾವಣೆಗಳು ಸಿಎ ಚುನಾವಣೆಗಳು ಸಿಎ ಗವರ್ನರ್ ಹಿಲ್ಟನ್ ಗವರ್ನರ್ ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಪ್ರಾಥಮಿಕ ಚುನಾವಣೆ ಗವರ್ನರ್ ರೇಸ್ ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಸಿಎ ಗವರ್ನರ್ ರೇಸ್ ಪೋಲ್ಸ್ ಲೈವ್ ಪ್ರಾಥಮಿಕ ಚುನಾವಣೆ ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಗವರ್ನರ್ ರೇಸ್ ಅನ್ನು ಯಾರು ಗೆಲ್ಲುತ್ತಿದ್ದಾರೆ ಚುನಾವಣೆ ಸಿಎ ಚುನಾವಣೆ ಬೆಕೆರಾ ಗವರ್ನರ್ ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಮತದಾನದ ಫಲಿತಾಂಶಗಳು ಸ್ಟೀವ್ ಹಿಲ್ಟನ್ ಯಾರು ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಗವರ್ನರ್ ಚುನಾವಣೆ ಸಿಎ ಚುನಾವಣೆ ಸಿಎ ಚುನಾವಣೆಗಳು ಸಿಎ ಪ್ರಾಥಮಿಕ ಚುನಾವಣೆಗಳು ಚುನಾವಣೆಗಳು ಇಂದು ಚುನಾವಣಾ ಫಲಿತಾಂಶಗಳು ಸಿಎ ಗವರ್ನರ್ ರೇಸ್ ಅನ್ನು ಯಾರು ಗೆಲ್ಲುತ್ತಾರೆ ಸಿಎ ಮತದಾನದ ಫಲಿತಾಂಶಗಳು ಸಿಎ ಚುನಾವಣೆಗಳು 2026 ಕ್ಯಾಲಿಫೋರ್ನಿಯಾ ಗವರ್ನರ್ ರೇಸ್