如何将字符串附加到 bash 命令行?

如何将字符串附加到 bash 命令行?

我确信这是一个反复出现的问题,但我找不到一个能解决我的问题的答案。

我想要做的是这样的:

alias disexit = " & disown & exit"
gnome-calculator disexit

因此它将运行命令行

gnome-calculator & disown & exit

因此,它将有一个正在运行的计算器实例,并且后面没有浮动的终端,而无需手动编写整个内容。

如果可能的话,我希望该别名是永久的。

答案1

这不是alias工作原理(据我所知,你想要的东西不能在不修改bash自身的情况下完成),但如果你不介意语法稍微不同,你可以添加类似

disexit(){
    "$@" & disown & exit
}

到你的.bashrc(使此功能永久化),并将其调用为

disexit gnome-calculator

答案2

您无法使用别名来执行此操作。但是,您可以编写一个函数:

disexit() { "$1" & disown & exit; }

但你需要反过来调用它:

disexit gnome-calculator

这是最接近您要求的bash语法。

为了使其永久可用,只需将函数定义添加到~/.bashrc

答案3

你不能nohup在所需命令之前运行吗?例如

nohup gnome-calculator &

相关内容