fish - 在 Fish 的同一行中使用 eval 和后台进程
问题描述
如何使用 eval 在变量中执行命令并在同一行中将其作为背景?我正在尝试以下方法,但它不起作用。例如s xeyes
,我希望 shell 返回。
function s --description "Start a command in the background and remove from jobs list"
echo (count $argv)
if test (count $argv) -ne 1
echo "illegal number of parameters"
return 1
end
eval $argv[1] 2>&1 > /dev/null &
disown
end
解决方案
Fish 不支持后台功能。eval
是一个函数,因此不支持将其作为后台处理。
你需要把&
eval'd 代码,所以
eval $argv[1] 2>&1 > /dev/null &
可能会奏效。
eval
或者,由于这里不再需要fish 3.0 ,所以你可以这样做
$argv[1] 2>&1 >/dev/null &
推荐阅读
- vb.net - 获取列表视图子项的文本
- fullcalendar - 将重复事件添加到从当天开始的所有工作日
- html - HTML 电子邮件 - 横幅中的文本格式因多个平台而异
- acumatica - 通过自动化步骤隐藏操作
- python - 用try检索字典项目的速度......除了字典中的键?
- r - R:同时使用 lapply 和 sink:创建文件并将输出存储在列表中?
- angular - 是否可以在组件上应用角度指令?
- ruby-on-rails - Capybara::ElementNotFound:找不到未禁用的“登录”按钮
- c# - 将 ComboBox 选择事件转换为复选框切换
- python - Keras - 关于输入层节点数量的混淆