始终在 linux 中调用带有特定标志的二进制文件
Always call a binary with a specific flag in linux
我想知道是否有任何方法可以在 linux 中执行二进制文件,总是带有特定标志。
例如,每当 genisoimage
执行时,我希望它始终以 -allow-limited-size
标志执行。因此,在控制台中发出 genisoimage
会导致 genisoimage -allow-limited-size
运行.
alias
将无法工作,因为二进制文件是从另一个文件调用的
是的!您正在寻找的是 Bash alias
.
只需将 alias genisoimage="genisoimage -allow-limited-size"
添加到您的 ~/.bashrc
(或 ~/.bash_profile
for macOS)文件。
有关 Bash 别名的更多信息,请查看 http://www.tldp.org/LDP/abs/html/aliases.html?cachebusterTimestamp=1466192028407
编辑:鉴于另一个脚本或应用程序调用 genisoimage
.
如果从另一个脚本或应用程序调用它,您将不得不更改在 script/application 中解析的 genisoimage
。您可以通过以下方式实现这一目标。
首先,创建您自己的 genisoimage
,添加您的 -allow-limited-size
标志。这将进入位于 /some/other/path
的名为 genisoimage
的文件,并且必须使其可执行(即 chmod u+x /some/other/path/genisoimage
)。假设真正的genisoimage
文件位于/bin/genisoimage
#! /bin/bash
/bin/genisoimage -allow-limited-size "$@"
上面添加了所需的标志,并将所有参数传递给原点genisoimage
。
现在,当您 运行 您的 script/application 时,更改 PATH
变量,以便首先找到您刚刚创建的文件。
$> PATH=/some/other/path:$PATH ./APPLICATION
我想知道是否有任何方法可以在 linux 中执行二进制文件,总是带有特定标志。
例如,每当 genisoimage
执行时,我希望它始终以 -allow-limited-size
标志执行。因此,在控制台中发出 genisoimage
会导致 genisoimage -allow-limited-size
运行.
alias
将无法工作,因为二进制文件是从另一个文件调用的
是的!您正在寻找的是 Bash alias
.
只需将 alias genisoimage="genisoimage -allow-limited-size"
添加到您的 ~/.bashrc
(或 ~/.bash_profile
for macOS)文件。
有关 Bash 别名的更多信息,请查看 http://www.tldp.org/LDP/abs/html/aliases.html?cachebusterTimestamp=1466192028407
编辑:鉴于另一个脚本或应用程序调用 genisoimage
.
如果从另一个脚本或应用程序调用它,您将不得不更改在 script/application 中解析的 genisoimage
。您可以通过以下方式实现这一目标。
首先,创建您自己的 genisoimage
,添加您的 -allow-limited-size
标志。这将进入位于 /some/other/path
的名为 genisoimage
的文件,并且必须使其可执行(即 chmod u+x /some/other/path/genisoimage
)。假设真正的genisoimage
文件位于/bin/genisoimage
#! /bin/bash
/bin/genisoimage -allow-limited-size "$@"
上面添加了所需的标志,并将所有参数传递给原点genisoimage
。
现在,当您 运行 您的 script/application 时,更改 PATH
变量,以便首先找到您刚刚创建的文件。
$> PATH=/some/other/path:$PATH ./APPLICATION