Bash reserved reserved kata vs perintah built-in, dan memformat output dari perintah waktu

8

Apa perbedaan antara kata-kata yang dipesan oleh bash dan perintah bawaan?

Bisakah saya menonaktifkan waktu bash, dan menggunakan /usr/bin/time? Jika tidak, bagaimana saya bisa memformat outputnya?

Qian
sumber
1
Sebenarnya ada variabel lingkungan: TIMEFORMAT yang menentukan output waktu.
Qian

Jawaban:

9

Sebagian besar kata yang dilindungi adalah perintah yang dibangun ke dalam bash; jika Anda ingin menggunakan executable yang memiliki nama yang sama dengan kata yang dipesan maka tentukan path lengkap ke executable, atau lepas dari perintah dengan backslash.

$ time

real    0m0.000s
user    0m0.000s
sys 0m0.000s
$ \time
Usage: time [-apvV] [-f format] [-o file] [--append] [--verbose]
       [--portability] [--format=format] [--output=file] [--version]
       [--help] command [arg...]
$ then
bash: syntax error near unexpected token `then'
$ \then
bash: then: command not found

Juga, BASH FAQ # 32: "Bagaimana saya bisa mengarahkan output 'waktu' ke variabel atau file?" .

Ignacio Vazquez-Abrams
sumber
Sebenarnya, kata-kata yang dipesan tidak harus sama sekali perintah, seperti yang ditunjukkan contoh Anda.
JdeBP
1

Anda dapat menggunakan builtin <cmd>dan command <cmd>untuk memaksa memanggil bash built-in atau perintah eksternal.

pengguna1686
sumber