如何以同样适用于 GUI 应用程序的方式将默认命令行参数添加到可执行文件?

如何以同样适用于 GUI 应用程序的方式将默认命令行参数添加到可执行文件?

我想在运行命令行程序时默认传递它。

myprog --foo=bar

我能想到的解决方案是将自定义的“myprog”包装器添加到我的“bin”文件夹中

#! /bin/sh
/usr/bin/myprog --foo=bar $@

好处是,由于我设置了系统,所以 bin 文件夹位于交互式 shell 和 GUI 应用程序的 PATH 中,因此从任何地方调用 myprog 将默认传递 --foo 标志,包括如果我从应用程序运行 myprog菜单。

但是,我不喜欢在包装脚本中使用绝对路径/usr/bin/myprog(如果不这样做,它会进入无限循环)。有更好的方法吗?

答案1

你可以用alias它。从man sh

别名 别名是使用 alias(1) 内置命令设置的名称和相应的值。每当保留字可能出现时(见上文),在检查保留字后,shell 会检查该字以查看它是否与别名匹配。如果是,它将在输入流中用它的值替换它。例如,如果有一个名为“lf”的别名,其值为“ls -F”,则输入:

       lf foobar ⟨return⟩

 would become

       ls -F foobar ⟨return⟩

别名为天真的用户提供了一种创建命令简写的便捷方法,而无需学习如何创建带参数的函数。它们还可以用来创建词汇上晦涩的代码。不鼓励这种使用。

相关内容