Versi shell dan versi perintah

2

Halaman manual echoperintah menyatakan:

shell Anda mungkin memiliki versi gema ...

Apa artinya sebenarnya dan bagaimana memeriksa shell mana yang memiliki versi gema?

Mulligan
sumber

Jawaban:

2

Anda dapat memeriksa sebagai berikut: perintah

$ type -a echo
  echo is a shell builtin
  echo is /bin/echo

mengembalikan semua versi yang mungkin dari perintah tersebut ( gema , dalam kasus kami); ini menunjukkan bahwa saya memiliki kedua executable yang disebut / bin / echo , dan shell builtin, yaitu perintah berbeda di dalam shell saya dengan nama yang sama, dan melakukan hampir persis fungsi yang sama.

Untuk mengetahui mana yang dieksekusi di antara (dua) kemungkinan ini, cobalah

 $ type -t echo
   builtin

yang menunjukkan bahwa Anda hanya menekan gema sesuatu , shell builtin akan digunakan, bukan file / bin / gema yang dapat dieksekusi . Jika Anda bersikeras menggunakan file tersebut, coba saja

$ env echo something 

Untuk mendapatkan informasi manual pada kedua versi, Anda harus menggunakan

$ man echo

atau

$ info echo

untuk file / bin / echo yang dapat dieksekusi , dan

$ help echo

untuk builtin shell. Perbandingan kedua output ini akan menunjukkan perbedaannya.

MariusMatutiae
sumber
0

Sebagian besar shell memiliki builtin sendiri echountuk mempercepat echoperintah. Anda dapat memeriksa:

$ type echo
echo is a shell builtin
$ type printf
cp is a tracked alias for /bin/cp
Ipor Sircer
sumber