非阻塞 bash 命令?

非阻塞 bash 命令?

所以我刚刚创建了 .bash_aliases 并写入以下内容:

callNotepad(){
     wine C:\\Program\ Files\\Notepad++\\notepad++.exe $1
}

alias notepad++=callNotepad

现在,无论 notepad++ 是否已在运行,如果没有运行,它都会打开 notepad++,无论哪种方式,它都会打开我在调用时指定的任何文件

notepad++ someFile

但是,如果 notepad++ 在执行该命令之前没有运行,它会给我一个

fixme:ole:RemUnknown_QueryInterface 没有 iid 的接口 {00000019-0000-0000-c000-000000000046}

然后在记事本运行时阻止调用终端。

我该如何正确实现该别名?因为我不知道 fixme 应该告诉我什么。

此外,我不希望在 notepad++ 中打开文件后打开第二个终端(ctrl+C 重新启用终端但关闭 notepad++)。

答案1

运行命令在背景中

callNotepad(){
     wine 'C:\Program Files\Notepad++\notepad++.exe' "$1" &
}

如果你想让错误消失,重定向陷入沉默。

callNotepad(){
     wine 'C:\Program Files\Notepad++\notepad++.exe' "$1" 2>/dev/null &
}

请注意,这也可能会使有用的错误消失,因此请自行承担风险。

相关内容