artinya, echoperintah adalah bagian dari bashprogram itu sendiri (dengan asumsi Anda menggunakan bash)
-n adalah pilihan, jadi mari kita lihat apa fungsinya
$ help echo
Write arguments to the standard output
...
-n do not append a newline
Jadi ketika kita menjalankan baris:
zanna@monster:~$ echo -n "Today's date is: "
Today's date is: zanna@monster:~$
Hmm itu tidak terlihat sangat bagus, karena tidak ada baris baru setelah teks dicetak. Kami akan kembali ke sini.
$ type date
date is /bin/date
ah jadi dateperintahnya adalah program terpisah. Apa fungsinya?
$ man date
Display the current time in the given FORMAT, or set the system date.
Karakter setelah dateperintah adalah opsi format (yang harus didahului oleh +) - bagian tanggal yang berbeda ditentukan (misalnya %Aadalah nama lengkap hari dalam seminggu - lihat bagian selanjutnya man dateuntuk daftar opsi lengkap)
$ date +"%A, %B %-d, %Y"
Tuesday, February 7, 2017
Jadi jika kita menempatkan perintah bersama dalam sebuah skrip dan kemudian menjalankan skrip kita akan dapatkan
Today's date is: Tuesday, February 7, 2017
Bagus! Jika Anda menginginkan efek yang sama di terminal, Anda dapat menggunakan tanda titik koma untuk memisahkan kedua perintah, bukan baris baru:
$ echo -n "Today's date is: " ; date +"%A, %B %-d, %Y"
Today's date is: Tuesday, February 7, 2017
Saya akan mengatakan ini tidak ada penjelasan untuk tanda plus sebelum argumennya
Délisson Junio
@ DélissonJunio diedit, tetapi jawaban Melebius menunjukkannya lebih baik dengan kutipan halaman manual langsung
Zanna
@Zanna Aku bukan OP, tapi yang menarik perhatianku adalah fakta bahwa plus nampak aneh karena kupikir bash akan menafsirkan segala sesuatu di antara tanda kutip sebagai satu argumen, tidak termasuk plus. Tapi saya rasa ini adalah pertanyaan lain
Délisson Junio
2
Anda benar-benar dapat memasukkan nilai plus di dalam tanda kutip juga. Bash memiliki perasaan aneh dalam menjalankan teks yang dikutip dan berdekatan, mis. Cd "$ x" / output atau bahkan cd nospace / "with space" / nospace
echo [SHORT-OPTION]...[STRING]...Echo the STRING(s) to standard output.-n do not output the trailing newline
Jadi ia mencetak string dan tidak pergi ke baris baru setelah itu (yang merupakan perilaku default), sehingga output dari perintah selanjutnya akan dicetak di sisi kanan string yang digaungkan.
tanggal
date [OPTION]...[+FORMAT]
FORMAT controls the output.Interpreted sequences are:%A locale's full weekday name (e.g., Sunday)
%B locale's full month name (e.g.,January)%d day of month (e.g.,01)%Y year
By default, date pads numeric fields with zeroes.The following optional flags may follow '%':-(hyphen)do not pad the field
Saya harap itu jelas. Jangan ragu untuk bertanya apakah tidak.
Terima kasih banyak. Saya punya pertanyaan lain: Apakah sudah ada fungsi bawaan untuk menunjukkan tanggal di terminal?
Orang tidak dikenal
@Zanna Sebenarnya bukan pertanyaan baru, ini terkait dengan pertanyaan yang saya tanyakan.
Orang tidak dikenal
1
@ Orang yang tidak dikenal jika Anda ingin tanggal ditampilkan di terminal secara default, itu benar-benar pertanyaan yang sangat berbeda dengan "apa yang dilakukan kode ini" karena Anda perlu mengedit variabel PS1 (atau mungkin itu dapat dilakukan dengan aplikasi terminal pengaturan - tentang itu saya bodoh) yang berada di luar cakupan posting ini
Zanna
1
@ Orang yang datetidak dikenal menunjukkan tanggal di terminal (antarmuka baris perintah). Jika Anda menginginkan sesuatu yang lebih (seperti apa yang disarankan Zanna), silakan ajukan pertanyaan baru.
Melebius
4
echo -n "Today's date is: "
Ini akan mencetak: Tanggal hari ini adalah:
date +"%A, %B %-d, %Y"
Ini akan mencetak sesuatu seperti ini: Selasa, 7 Februari 2017
Saran :
gunakan manatau --helpperintah untuk tahu lebih banyak tentang perintah lain.
misalnya:
$ man date && man echo
di shell.Jawaban:
artinya,
echo
perintah adalah bagian daribash
program itu sendiri (dengan asumsi Anda menggunakan bash)-n
adalah pilihan, jadi mari kita lihat apa fungsinyaJadi ketika kita menjalankan baris:
Hmm itu tidak terlihat sangat bagus, karena tidak ada baris baru setelah teks dicetak. Kami akan kembali ke sini.
ah jadi
date
perintahnya adalah program terpisah. Apa fungsinya?Karakter setelah
date
perintah adalah opsi format (yang harus didahului oleh+
) - bagian tanggal yang berbeda ditentukan (misalnya%A
adalah nama lengkap hari dalam seminggu - lihat bagian selanjutnyaman date
untuk daftar opsi lengkap)Jadi jika kita menempatkan perintah bersama dalam sebuah skrip dan kemudian menjalankan skrip kita akan dapatkan
Bagus! Jika Anda menginginkan efek yang sama di terminal, Anda dapat menggunakan tanda titik koma untuk memisahkan kedua perintah, bukan baris baru:
sumber
Anda harus mulai dengan halaman manual, perintah
man
. Cukup ketikman <command>
untuk mendapatkan informasi tentang a<command>
. Menavigasiman
tidak terlalu intuitif tetapi ada banyak panduan untuk itu, misalnya https://wiki.gentoo.org/wiki/Man_page/Navigate#Navigating_and_searching_man_pages .Bagian yang relevan dari
man echo
danman date
:gema
Jadi ia mencetak string dan tidak pergi ke baris baru setelah itu (yang merupakan perilaku default), sehingga output dari perintah selanjutnya akan dicetak di sisi kanan string yang digaungkan.
tanggal
Saya harap itu jelas. Jangan ragu untuk bertanya apakah tidak.
sumber
date
tidak dikenal menunjukkan tanggal di terminal (antarmuka baris perintah). Jika Anda menginginkan sesuatu yang lebih (seperti apa yang disarankan Zanna), silakan ajukan pertanyaan baru.Ini akan mencetak: Tanggal hari ini adalah:
Ini akan mencetak sesuatu seperti ini: Selasa, 7 Februari 2017
Saran :
gunakan
man
atau--help
perintah untuk tahu lebih banyak tentang perintah lain.misalnya:
Cobalah tantangan-tantangan ini tantangan yang sangat bagus untuk membantu Anda belajar melakukan hal-hal di terminal.
sumber