回答:
この行を~/.bashrc
ファイルに追加します。
export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\ "
したがって、出力は次のようになります。
[07:00:31] user@name:~$
date
のコマンドは、置き換えることができ+%H:%M:%S
て+%T
。
私の解決策は、http://bashrcgenerator.com/を使用して.bashrcに入れるこのPS1行を生成することでした。
export PS1="\t [\u@\h \W]\\$ \[$(tput sgr0)\]"
どのようになります
13:05:54 [chad@work-laptop:~/Downloads]$ ls -al
PROMPT_COMMANDを使用すると、履歴が台無しになります。履歴を巡回しているときに長い行が表示されると、先頭に追加されたタイムスタンプと同じ文字数だけプロンプトの終わりが切れます。例えば
13:14:38 [chad@work-laptop:~/Doexport PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\\] "
また、この行は、入力しているように見える場所に入力していないため、適切な場所に文字が表示されないため、編集できません。
多分その[$(tput sgr0)]部分を使用することでPROMPT_COMMANDで実行できると思いますが、PS1は動作します。
プロンプト自体に日付を追加する代わりに、次の行をの先頭に配置して、プロンプトの直前に日付を追加できます。動作させるには、インストールする必要もあります。短いプロンプトを表示しながら日付を表示する楽しい方法です。.bashrc
cowsay
cowsay "Welcome $USER! It's now $(date '+%A %B %d %Y %r')"
現在の形式では、現在の環境から変数$USER
とdate
変数を読み取るため、修正なしで誰のシステムでも動作します。
回答にコメントを追加してそれを改善するのに十分な評判ポイントがないため。情報を追加できる唯一の方法は、2番目の回答を作成することです。ですから、答えとして言われたことを繰り返して、それを基にしていきます。
日付スタンプを変更するユーザーの.bashrcファイルを編集します。
「user @ host:〜$」と表示されている場合は、現在のユーザーのホームディレクトリにいます。.bashrcファイルは、ドット「。」で始まるため、隠しファイルです。リストで表示するには、長いリストを使用する必要があります。
「ls -a」を使用すると、「。bashrc」ファイルが表示されます。
テキストエディターでファイルを編集します。たとえば、「nano .bashrc」、「vim .bashrc」、「vi .bashrc」、「pico .bashrc」、または使用したいエディター。
これをスクリプト化し、多くのユーザーの多くのシェルに追加する予定がある場合は、append ">>"演算子と組み合わせて "echo"コマンドを使用すると便利です。例えば、
echo "export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\\"" >> .bashrc
この方法を使用する場合は、変更するユーザーの現在の作業ディレクトリにいることを確認してください。これを確認するには、「pwd」または印刷作業ディレクトリコマンドを使用できます。
"]"終了ブラケットとユーザー名の間の余分なスペースが気に入らない場合は、非常にわずかに変更した正規表現を使用してください。
export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\\"
ファイルを直接編集している場合に使用します。
@ devav2の答えに追加するだけです:
初心者向けの読みやすいエコーコマンドは次のとおりです。
export PROMPT_COMMAND='echo -n "$(date +%H:%M:%S) "'
の代わりに
export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\ "
echoコマンドはエクスポート時に評価されることを意図していないため、二重引用符ではなく一重引用符をリテラル引用として使用する方が合理的です。単一引用符を使用してコマンド全体を引用すると、二重引用符を使用してechoコマンドの引数を引用できるため、
[
などの特殊文字をエスケープする必要がなくなります。$
続行する正しい方法は$HOME/.bashrc
、設定するコードを見つけてPS1
コメントし、個人的なコードを追加することだと思います。これは例えば私のブロックです:
PS1_DATE="\D{%Y-%m-%d %H:%M:%S}"
if [ "$color_prompt" = yes ]; then
PS1="[$PS1_DATE \[\e]0; \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\[\033[00m\]\[\033[01;34m\]\w \[\033[00m\]\$] "
#PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='[$PS1_DATE ${debian_chroot:+($debian_chroot)}\w \$] '
#PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
出力:
[2019-06-18 15:54:29 ~/Desktop $] echo "It's late!"
私の時間はcowsay
上記の答えに似ています。を置く必要がありnow
ます~/.bashrc
が、を入力して端末から呼び出すこともできますnow
。
スクリーンショットは次のとおりです。
bashコードは、次の非常に詳細な回答に掲載されています。
export PROMPT_COMMAND="echo -n \[\$(date +%F-%T)\]\ "
export HISTTIMEFORMAT="%F-%T "
少なくとも私にとっては重宝します。