Есть масса ответов, но я ищу более общий. AFAI обеспокоен следующими работами на большинстве систем.
cat /etc/os-release
Пример вывода:
sh-4.4$ cat /etc/os-release
NAME=Fedora
VERSION="26 (Twenty Six)"
ID=fedora
VERSION_ID=26
PRETTY_NAME="Fedora 26 (Twenty Six)"
ANSI_COLOR="0;34"
CPE_NAME="cpe:/o:fedoraproject:fedora:26"
HOME_URL="https://fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=26
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=26
PRIVACY_POLICY_URL=https://fedoraproject.org/wiki/Legal:PrivacyPolicy
What am I doing wrong?
Вы вызываете./stop
(или./start
). Не at
немедленно запускает сценарий. Это ты.
С помощью ./stop | at …
вы запускаете ./stop
и at
одновременно. Вот как конвейер(|
)работает в оболочке. Выход из ./stop
поступает на at
. Это не то, что вы хотите.
at
ожидает команду (, которую вы хотите запустить позже )в виде строки на своем стандартном вводе. Вместо вывода ./stop
вы хотите передать строку , которая говорит ./stop
. Основной способ передачи строки — это echo
ее:
echo './stop' | at …
Это запустит echo
и at
. Последний инструмент возьмет выходные данные первого инструмента. Вывод будет буквально ./stop
. Это то, что вы хотите.