Di terminal, modifikasi teks yang muncul sebelum $

13

Di terminal saya selalu bisa melihat jalur mana saya berada:

macbook-romeo:School romeovs$ echo "example command"

yang menurut saya cukup berguna. Namun ada banyak hal yang tidak perlu di sini juga: macbook-romeotidak berguna karena saya selalu menggunakan macbook (duh). Kemudian lagi romeovssangat berguna (ini adalah nama pengguna saya).

Apakah ada yang ingin mengedit apa yang ditampilkan di sini? misalnya

22:50 - School - Romeo$ echo "example"

dimana 22:50waktu saat ini (Ini hanya contoh saja, saya tidak akan memerlukan waktu, saya akan menggunakan seperti teks menjadi sedikit lebih minimalis).

romeovs
sumber

Jawaban:

11

Artikel OSX Daily ini memiliki beberapa petunjuk terperinci tentang cara melakukannya. Singkatnya, Anda perlu memodifikasi ~/.bash_profilefile Anda dan memodifikasi variabel PS1.

Di bawah ini adalah daftar kemungkinan variabel yang dapat Anda tampilkan:

  • \ d - Tanggal saat ini
  • \ t - Waktu saat ini
  • \ h - Nama host
  • # - Nomor perintah
  • \ u - Nama pengguna
  • \ W - Direktori kerja saat ini (mis .: Desktop /)
  • \ w - Direktori kerja saat ini, path lengkap (yaitu: / Pengguna / Admin / Desktop)
BinaryMisfit
sumber
11

Anda perlu memodifikasi file .bashrc yang ditemukan di direktori home Anda .

Buka terminal dan lakukan hal berikut:

  • cd ~
  • touch .bashrc
  • open .bashrc

Tambahkan baris berikut di akhir file .bashrc Anda

ekspor PS1 = '\ t - \ W - \ u \ $'

  • Simpan file dan tutup editor Anda
  • Kembali ke terminal dan masukkan perintah berikut:

    sumber .bashrc

Ledakan! Anda sekarang harus memiliki prompt yang Anda inginkan! (Jika prompt yang diinginkan adalah contoh yang Anda berikan)

makaco
sumber
Ketika saya melakukan ini, saya mendapatkan yang berikut MBP-15:~ Daniel$ source .bashrc -bash: export: = ': bukan pengenal yang valid -bash: ekspor:\t - \W - \u$ ': not a valid identifier MBP-15:~ Daniel$
Daniel Compton
@DanielCompton Terima kasih telah menunjukkan ini, saya telah memperbarui jawaban saya sehingga ini berfungsi. :)
macaco
4

Ini dikendalikan oleh variabel shell $ PS1

Anda dapat mengatur variabel ini ke apa pun yang Anda inginkan, baik sementara atau lebih secara permanen dengan skrip .login atau .profile tergantung pada shell apa yang Anda gunakan.

Lihatlah output berikut untuk contoh:

Last login: Fri Oct 21 21:59:28 on ttys000

Dans-MacBook-Air:~ stuffe$ echo $PS1

\h:\W \u\$

Dans-MacBook-Air:~ stuffe$ PS1="Hello World $"

Hello World $PS1=`date`

Fri 21 Oct 2011 22:03:23 BSTsleep 60

Fri 21 Oct 2011 22:03:24 BSTPS1="`date +%H:%M` $"

22:04 $PS1="\h:\W \u\$"

Dans-MacBook-Air:~ stuffe$

Kemungkinannya tidak terbatas. Ada sesuatu yang dapat Anda lakukan dengan PS2 juga, tapi saya pikir itu hanya berlaku jika Anda root - detailnya kabur, Unix saya sudah lama sekali dan berdasarkan pada Solaris, bukan Mac OS X, tetapi dasarnya sama.

Info tambahan: Seperti yang disarankan dalam balasan lain, ada flag bawaan seperti \ h dan \ W dll yang dapat Anda gunakan, tetapi Anda juga dapat menggunakan output dari hampir semua perintah juga, dengan menggunakan "kutu kembali" (kutipan tunggal lucu) digunakan dalam contoh tanggal saya di atas). Perintah di dalam tick kembali dijalankan dan output diganti, memungkinkan Anda untuk memasukkan apa pun, bahkan jika tidak ada built in flag, bahkan untuk hal-hal yang tampaknya bodoh, apa pun yang dapat Anda pikirkan. Ingin memasukkan waktu entri terakhir ke file log kesalahan? Gunakan sesuatu seperti:

PS1="`tail -1 $LOGFILE | awk '{print $1}'` $ "

(baca baris terakhir file yang direferensikan oleh $ LOGFILE, dan cetak kolom 1 dengan asumsi pembatas bidang default) dll. Jika Anda bisa menjalankannya, Anda bisa memasukkannya.

barang
sumber