Синтаксис $ (cmd)
захватывает стандартный вывод из cmd
(без завершающих символов новой строки).
Итак, все, что вам нужно сделать, это заставить getweek
выводить информацию:
#! /bin/sh -
date +%V # or %U or %W
date
выводит номер недели на свой стандартный вывод, который он наследует от sh
, который в случай weeknum = $ (getweek)
устанавливается для канала или пары сокетов оболочкой, на другом конце которой оболочка считывает этот вывод для сохранения в переменной weeknum
.
Вы также можете вернуть номер недели в статусе выхода:
#! /bin/sh -
exit "$(date +%W)"
Который вы получите с помощью:
getweek
weeknum=$?
, но я бы не советовал этого делать. Статус выхода должен быть зарезервирован для сообщений об ошибках или ограничен значениями истина / ложь.
Обычно выше, если есть ошибка (при разветвлении процесса, при выполнении date
или sh
) или процесс завершен, вы получите ненулевой статус выхода. который не следует рассматривать как номер недели .
Используя MacOS, я загружал/использовал последний официальный клиент Check Point для Mac OS, который активно поддерживается CheckPoint, вместо использования Docker.
Пользуюсь клиентом Checkpoint в Мохаве уже пару месяцев, и, вопреки моему опыту в начале года, в High Sierra, где он все время давал сбои, сейчас он довольно стабилен.
Что касается запуска VPN-клиента Linux CheckPoint/snx
в Docker, он не будет работать.
Подпрограммы клиента VPN snx
:
Некоторые или все эти действия не могут просто выполняться внутри контейнера Docker.
TDLRsnx
внутри Docker не будет работать. Либо используйте собственный клиент Mac, либо запустите VPN-клиент Linux snx
на виртуальной машине Linux.
ПС. Я бы посоветовал ознакомиться с различиями между контейнером и виртуальной машиной.
Я только что подключился к SNX в образе докера, так что это возможно.
Некоторые хитрости:
-v /lib/modules:/lib/modules \
-v /dev:/dev \
--cap-add=ALL \
Мой подход заключался в том, чтобы сначала заставить его работать в образе Virtualbox, затем перечислить все установленные пакеты и, наконец, установить все эти пакеты в образ докера.
Я подозреваю, что некоторые пакеты, связанные с X, необходимы, теперь пришло время обрезать изображение и угадать, какие пакеты действительно нужны.
Ответ Хавьера мне очень помог.
Сначала я успешно подключился к хост-компьютеру, затем попытался подключиться в контейнере.
Нужны были другие папки:
docker run -v /bin:/bin -v /lib:/lib -v /sbin:/sbin -v /usr:/usr --cap-add=ALL -it my_image bash