![]() |
bash скрипт установки времени на удаленной машине по ssh
Здравствуйте.
Почти все вынесено в название. Прошу объяснить, как работает однострочни Он устанавливает время на удаленной машине, таким же как на локальной. Код:
ssh user@server date -s @`( date -u +"%s" )` Как мне трактовать собачку? @ обратные кавычки ` ` возвращают результат работы программы. И в них заключается вызов но уже в круглых скобках ?? Как ее читать ?? Как строить цепочку рассуждения ?? Взято с https://www.commandlinefu.com/comman...erver-over-ssh |
Цитата:
Цитата:
Код:
`( date -u +"%s" )` Цитата:
Код:
date: cannot set date: Operation not permitted |
Интерпретаторы командной строки на разных системах разные. Синтаксис команд, да и наборы допустимых команд тоже разные. В этом примере кто-то не просто получил результат исполнения команды
Код:
date -u +"%s" К сожалению, это такая повсеместная небрежность отвечающих на вопросы, советчиков. Никогда не уточняют в чём именно и для каких окружений ответ или совет. Почему? Да потому что вопрошающие тоже очень редко уточняют эти немаловажные факторы. В результате получается что-то вроде следующего события. Приходит студент в институт, где лектор рассказывает обобщение формул конечных приращений Лагранжа, и спрашивает лектора: "А почему вы символ возведения в квадрат пишите хвостиком вниз, будто цифру пять перевернули? Мне объясняли как пишется цифра пять, а это у вас какой-то перевёрнутый символ. Почему?" Ну, что тут может ответить лектор... Тоже самое и к вопросу о "sudo". )) Надо это или не надо - всё зависит совершенно от других факторов, не относящихся ни к интерпретаторам, ни к синтаксису, а к назначенным разрешениям для пользователя. Коммерческое эт (@) всего лишь означает, что для используемой у автора среды исполнения полученный результат количества секунд надо обязательно объявлять строкой. Количество секунд - это вообще-то число, а чтобы в используемом интерпретаторе и среде исполнения команды date, при назначении даты не произошло чего-нибудь нехорошего, у автора надо передать этой команде переменную именно строкой. )) |
RoseHill, Jula0071, спасибо. Вчера нашел это решение будучи сильно уставшим. Сегодня "поиграл фрагментарно с формулой", да, отдает результат "от начала эры". И поэтому мы получаем нормально передаваемое значение, не зависимое от языка, и кодировок, и избавляет от необходимости решать задчу, когда date дает "Пон Фев" а date -s понимает только Feb. + UTF -> KOI8-R
Про @ я было подумал как про спец символ. Да, sudo добавлено, спасибо. |
Цитата:
|
Время: 13:32. |
Время: 13:32.
© OSzone.net 2001-