gpt4 book ai didi

bash - 使用带有别名的 "nice"命令

转载 作者:行者123 更新时间:2023-11-29 09:13:26 24 4
gpt4 key购买 nike

如何使用带别名的“nice”命令?

举个例子:

alias list=ls
list # works
nice -10 list # doesn't work

我怎样才能使最后一行起作用?

最佳答案

Alias 是一个 shell 特性,nice 是一个外部程序:

$ type nice
nice is hashed (/usr/bin/nice)

程序 nice 运行作为参数传递的命令,调用 C 函数 execve,因此需要在调用之前评估它的所有参数。

所以,最好不要使用别名,而只是将所需的整个命令放在那里,但如果你真的想这样做,你可以尝试这样的事情:

$ nice -10 `alias list | sed "s/^\(alias \)\?[^=]\+='//; s/'$//;"`

alias listalias list='ls' 格式打印别名定义(或 list='ls',如果它是 /bin/sh),所以我在那里做了一些 sed 替换,只得到它扩展到的命令。

如果您确定只使用 bash,您可以使用 ${BASH_ALIASES[list]},正如评论中指出的那样:

$ nice -10 ${BASH_ALIASES[list]}

关于bash - 使用带有别名的 "nice"命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10544540/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com