Несколько вариантов в зависимости от оболочки:
$ touch a akk aka
$ ksh -c 'echo a*(k)'
a akk
$ zsh -o kshglob -o nobareglobqual -c 'echo a*(k)'
a akk
( nobareglobqual
для этого конечного (k)
здесь не следует использовать в качестве квалификатора glob)
$ bash -O extglob -c 'echo a*(k)'
a akk
$ zsh -o extendedglob -c 'echo ak#'
a akk
zsh
#
является эквивалентом регулярного выражения *
.
ksh93
также может использовать несколько типов регулярных выражений в своих глобах:
$ ksh93 -c 'echo ~(E:ak*)' # extended RE
a akk
$ ksh93 -c 'echo ~(P:ak*)' # perl-like RE
a akk
$ ksh93 -c 'echo ~(X:ak*)' # AT&T augmented RE
a akk
$ ksh93 -c 'echo @(~(E)ak*)' # alternative syntax
a akk
wget
по умолчанию сохраняет выбранную веб-страницу в файле, имя которого соответствует документу в конце URL-адреса (и не отправляет ее на свой стандартный вывод ). Если этот файл уже существует, он добавляет номер в конец имени.
Если вы не хотите сохранять документ, укажите, что хотите сохранить его в/dev/null
:
wget -O /dev/null 'https://domain.tld/index.php?page=cron' >/dev/null 2>&1
или
wget --output-document=/dev/null --quiet 'https://domain.tld/index.php?page=cron'
Также рекомендуется заключать URL-адрес в кавычки, поскольку URL-адреса иногда содержат символы, которые могут быть интерпретированы оболочкой как символ подстановки имени файла или терминаторы команд (, например &
, [
, ]
и т. д. )].
Проблема не в cron. Это поведение wget
по умолчанию. Чтобы сделать его перенаправленным на стандартный выход (, чтобы затем вы могли перевести этот вывод на /dev/null
), используйте wget -O-
. И вы, вероятно, также хотите -q
. Так:
wget -qO- 'https://domain.tld/index.php?page=cron' > /dev/null 2>&1
Однако я не рекомендую такой подход. А если ошибка? Лучше сделать небольшой скрипт, который проверяет, является ли результат кодом http 200 и соответствует ли содержимое ожидаемому.