相关疑难解决方法(0)

让 bash 使用外部 `time` 命令而不是内置的 shell

如何让 bash 默认使用时间二进制文件 (/usr/bin/time) 而不是 shell 关键字?

which time返回/usr/bin/time
type time返回time is a shell keyword
运行time显然是在执行shell关键字:

$ time

real    0m0.000s
user    0m0.000s
sys     0m0.000s
$ /usr/bin/time
Usage: /usr/bin/time [-apvV] [-f format] [-o file] [--append] [--verbose]
   [--portability] [--format=format] [--output=file] [--version]
   [--quiet] [--help] command [arg...]
Run Code Online (Sandbox Code Playgroud)

enable -n time 返回 bash: enable: time: not a shell builtin

bash shell-builtin time-utility

28
推荐指数
3
解决办法
8396
查看次数

如何显式调用内置的shell?

我想根据我的需要自定义cd命令的功能。

我定义了以下功能 - function cd () { cd "$@" && pushd "$@"; }

这个函数的目的是自动将目录压入堆栈,这样我就不用pushd .每次都手动输入了。

然而,上面的函数是一个无限递归函数,因为调用cd被解释为函数本身而不是cd内置函数。

如何引用cd此函数中的内置函数?

我知道别名可以使用\. 以更明确的方式转义函数或引用内置函数的方法是什么?

注意:我不想将我的函数重命名为其他任何名称。

bash shell-script shell-builtin

16
推荐指数
2
解决办法
6658
查看次数

为什么 Bash 将 time 实现为保留字而不是内置字?

Bash 参考手册说

使用 time 作为保留字允许对 shell 内置函数、shell 函数和管道进行计时。外部时间命令无法轻松地对这些进行计时。

  1. 但它只比较了保留字time和外部命令 time,并没有解决这个问题:

    为什么 Bash 实现time为保留字,而不是内置命令?

    这能带来什么好处?

  2. 还有哪些保留字也可以作为(内置或外部)命令实现?他们与指挥同行相比有什么优势?(试图弄清楚他们的优势是共享的还是特定于每个人的)

    例如,

    • 保留字[[...]]与内置命令test[
    • 保留字select与内置命令read

bash time-utility

0
推荐指数
1
解决办法
760
查看次数

标签 统计

bash ×3

shell-builtin ×2

time-utility ×2

shell-script ×1