Ошибка wget -output-document = при наличии символа ~

Я пишу документацию, поэтому предпочитаю использовать длинные варианты, потому что это самоописание. --output-document= более читабельна, чем его короткий эквивалент -O .

Затем я должен указать файл в домашнем каталоге, но символ ~ не удался, когда я пытаюсь --output-document=~/.vimrc .

Мне действительно нужно использовать длинный вариант, но мне также нужно указать путь, который автоматически содержит домашний каталог.

Итак, есть решение, которое не использует синтаксис, например /home/<your name>/ ?

3 Solutions collect form web for “Ошибка wget -output-document = при наличии символа ~”

Расширение Тильды работает только в начале слова. (По крайней мере, в bash, например, https://www.gnu.org/software/bash/manual/html_node/Tilde-Expansion.html )

Вы можете использовать, скажем --something=$HOME/filename если вам нужно только обратиться к домашнему каталогу текущего пользователя. Поскольку --output-document принимает обязательный аргумент, также записывает аргумент в отдельный параметр, но для необязательных аргументов он не работает (*), поэтому вы, вероятно, хотите использовать формат --foo=bar обычно ,

Если контекст является документацией, может быть полезно, по крайней мере, упомянуть соответствующие короткие варианты, так как они короче, чтобы писать, и ваши читатели могут наткнуться на них в коде, написанном другими в любом случае. Особенно для обычных опций, таких как wget -O .

(* Например, попробуйте ls --color=auto vs ls --color auto . Я сказал «похоже», так как самое непосредственное упоминание об этом я могу найти – это справочная страница командной строки getopt , библиотечная документация не так ясно.)

Насколько я знаю, «=» не должно быть …

 wget --option-document ~/.vimrc 

Я не буду использовать в документации, а не «в гневе», но если вы действительно хотите тильду, вы можете сделать любой из

 VAR=~/.vimrc; wget ... --output-document="$VAR" unset VAR # to keep things tidy # or put in ( subshell ) to keep pre-existing VAR # quotes only needed if $HOME (or anything you substitute for .vimrc) # can contain whitespace or glob characters ?*[ which is pretty rare wget ... --output-document="$(echo ~/.vimrc)" # or if $HOME can begin with - or contain backslash, also pretty rare: wget ... --output-document="$(printf '%s\n' ~/.vimrc)" # both times quotes as above 
  • Как я могу использовать wget для создания списка URL-адресов из index.html?
  • wget загружает tar.gz файл как html?
  • Как поставить отметку времени с помощью: wget --output-file =
  • Проблема с загрузкой большого файла из Интернета
  • Почему wget пропускает файлы при попытке зеркального отображения сайта
  • установка dropbox (для просмотра файлов)
  • wget изменение имени изображения изнутри страницы
  • Как использовать diff при выполнении wget?
  • Используя wget или другую команду, как скачать сейчас, но конвертировать ссылки позже?
  • Доступ к каждой строке в .txt-файле, загрузка и переименование ссылок
  • Wget, отменить повторную попытку после сбоя или таймаута
  • Interesting Posts

    Как искать пакеты для установки на CentOS 5.5?

    Как сгенерировать Zipf-подобные образцы, используя язык сценариев

    mv: перемещать файл только в том случае, если адресата не существует

    ничего не записывается в текстовый файл, если вы запускаете из cron

    Можно ли настроить контейнер lxc или docker для приложения X?

    как удалить все установленные зависимые пакеты при удалении пакета в centos 7?

    заставить zypper установить определенную версию

    Ящик NAT с несколькими внутренними и внешними интерфейсами

    Как узнать, сколько окон открыто на экране GNU?

    Загрузилась командная строка grub2 вместо ubuntu os

    Grep и regex: Почему следующее возвращает только определенную часть?

    SSH замедляется при стартовой сессии

    Разница между командами V и S в нормальном режиме?

    Мышь работает только в одной программе Linux Mint за один раз

    Cat не получит доступ к файлу в openSuse Tumbleweed (ошибка «Недействительный аргумент»)

    Linux и Unix - лучшая ОС в мире.