Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Новый участник


Сообщения: 13
Благодарности: 2

Профиль | Отправить PM | Цитировать


Интерпретаторы командной строки на разных системах разные. Синтаксис команд, да и наборы допустимых команд тоже разные. В этом примере кто-то не просто получил результат исполнения команды
Код: Выделить весь код
date -u +"%s"
, в которой, как можно заметить, получение секунд (%s) c так называемой "начала эры" взял в кавычки, что в принципе не обязательно для нынешней реализации bash и непосредственно синтаксиса date, но, вероятно, недопустимо без кавычек именно в том интерпретаторе, который был у автора. Автор этой строки ещё и взял в скобки команду получения даты в виде секунд с "начала эры". Опять же, для часто используемых в настоящее время интепретаторов лишнее, но никому, кроме автора, неизвестно, что у него есть в наличии, какой интерпретатор, в какой именно операционной системе работает, и каковы у него требования к синтаксису.

К сожалению, это такая повсеместная небрежность отвечающих на вопросы, советчиков. Никогда не уточняют в чём именно и для каких окружений ответ или совет. Почему? Да потому что вопрошающие тоже очень редко уточняют эти немаловажные факторы. В результате получается что-то вроде следующего события.
Приходит студент в институт, где лектор рассказывает обобщение формул конечных приращений Лагранжа, и спрашивает лектора: "А почему вы символ возведения в квадрат пишите хвостиком вниз, будто цифру пять перевернули? Мне объясняли как пишется цифра пять, а это у вас какой-то перевёрнутый символ. Почему?" Ну, что тут может ответить лектор...

Тоже самое и к вопросу о "sudo". )) Надо это или не надо - всё зависит совершенно от других факторов, не относящихся ни к интерпретаторам, ни к синтаксису, а к назначенным разрешениям для пользователя.

Коммерческое эт (@) всего лишь означает, что для используемой у автора среды исполнения полученный результат количества секунд надо обязательно объявлять строкой. Количество секунд - это вообще-то число, а чтобы в используемом интерпретаторе и среде исполнения команды date, при назначении даты не произошло чего-нибудь нехорошего, у автора надо передать этой команде переменную именно строкой. ))

Последний раз редактировалось RoseHill, 04-02-2020 в 13:13.

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:03, 04-02-2020 | #3