如何为接受参数并在后台执行的命令创建别名?

发布于 2024-11-24 01:46:34 字数 172 浏览 1 评论 0原文

我想创建别名以在后台使用 GUI 编辑器从命令行打开文件。

我尝试过:

alias new_command="editor_path &"
new_command file


但它只是打开编辑器而不加载文件。

I want to make alias to open file with GUI editor on background from command line.

I tried:

alias new_command="editor_path &"
new_command file

But it just open editor without loading the file.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

远昼 2024-12-01 01:46:34

的&正在结束命令,因此它看不到您的文件参数。如果您想将文件名字符串替换到命令中并在末尾添加“&”符号,则不能使用别名。

来自 bash 联机帮助页:

 没有在替换文本中使用参数的机制。如果
   需要参数,应使用 shell 函数(请参阅函数
   以下)。

考虑创建一个 shell 函数:

function new_command
{
editor_path "$1" &
}

The & is ending the command, so it is not seeing your file argument. You can't use alias if you want to substitute the filename string into the command with the ampersand on the end.

From the bash manpage:

   There  is no mechanism for using arguments in the replacement text.  If
   arguments are needed, a shell function should be  used  (see  FUNCTIONS
   below).

Consider creating a shell function:

function new_command
{
editor_path "$1" &
}
酒废 2024-12-01 01:46:34

您可以尝试这样的操作:

alias new_command="sudo -b editor_path"

尽管您需要输入密码。

You can try something like this:

alias new_command="sudo -b editor_path"

Although you'd need to enter your password.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文