Запуск программы через `xdg -open `из подоболочки без блокировки

Сценарий будет выполнен в другой оболочке. А команда export Aустанавливает переменную только для текущей оболочки. Вы можете экспортировать переменную поверх вашего скрипта, это не повлияет на остальную часть вашей среды. Например

~$ export A=a
~$ echo $A
a

если создать в той же оболочке скрипт test.sh

#!/bin/bash
export A=b
echo $A

Вывод будет 'b', но значение A в оболочке останется неизменным

0
13.12.2020, 02:45
1 ответ

Во-первых, в ваших примерах

var=$(sleep 1 & ; echo foo)

не должен работать в bash, потому что &уже служит концом строки.
(-bash :подстановка команды :строка 1 :синтаксическая ошибка рядом с неожиданным токеном `;')


Попробуйте

var=$(sleep 1 & echo foo) # no ';' !!

(эхо $var :foo)

В моем понимании простой

xdg-open <something> & # optional: echo foo

должен помочь, будь то в оболочке sub -или снаружи.

0
18.03.2021, 22:43

Теги

Похожие вопросы