В скрипте $#
расширяется до количества позиционных параметров. Мы можем использовать это, чтобы проверить, было ли передано правильное количество опций, и сразу выйти, если нет:
#!/bin/sh
if [ "$#" -ne 1 ]; then
printf 'ERROR! You must provide one and only one argument!\n' >&2
exit 1
fi
Где можно об этом прочитать:
Я могу представить себе этот запутанный способ :создания отдельной учетной записи пользователя, например. wineuser и запустите под ним свое Windows-приложение. Возможно, вы захотите запустить эту команду под своей учетной записью пользователя :xhost +SI:localuser:wineuser
(, чтобы позволить пользователю вина получить доступ к вашему графическому сеансу )и экспортировать переменную DISPLAY под учетной записью вина, например.export DISPLAY=:0
Чтобы ограничить этому пользователю доступ к Интернету, запустите эту команду/добавьте это правило iptables:
iptables -I OUTPUT -m owner --uid-owner wineuser -j DROP
(Или вы можете использовать REJECT вместо DROP ).
Вы также можете попробовать OpenSnitch:https://itsfoss.com/opensnitch-firewall-linux/или LAF (Брандмауэр приложений Linux):https://github.com/matrix-ac/LAF
Вы можете отменить совместное использование сетевого пространства имен:
sudo unshare -n -- su your_user -c your_command