Скручиваемость (расширение звездочки) на окнах

782
František Žiačik

На windows, в git bash (но в системной консоли тоже, я думаю)

Почему curlигнорируются все мои попытки отключить глобирование и расширяется звездочка?

$ GLOBIGNORE="*"; set -f; curl --noproxy "*" "http://www.google.com" curl: (6) Could not resolve host: .gitignore 

Хотя это работает правильно:

$ FOO="Abc *"  $ set +f;echo $FOO Abc .classpath .gitignore .project .settings pom.xml src target  $ set -f;echo $FOO Abc * 
0

1 ответ на вопрос

0
Linostar

curl is not friendly with GLOBIGNORE.

But, may I ask, what are you trying to achieve anyway with your curl command?

If you're trying to use the asterisk to get all matching files under a remote directory (such as curl "http://www.example.com/*"), then that's not going to work anyway. curl cannot list files under a remote directory or make the webserver extend the asterisk.

If the asterisk is meant for --noproxy parameter, you can use the alternative approach instead:

curl --noproxy `ls *` "http://www.google.com" 

That will list the files/folders in your current dir after --noproxy, with exception for files/folders starting with a dot.

Привет. Вот чего я пытаюсь избежать. Мне нужно использовать `--noproxy" * "`, но в Windows `*` раскрывается, поэтому полученная команда выглядит примерно так: `curl --noproxy localfile1 localfile2 localfile3" http://www.google.com "`, поэтому curl пытается подключиться к адресу «localfile2» (как вы можете видеть в этом `curl: (6) Не удалось разрешить host: .gitignore`). Я пытаюсь заставить curl просто использовать noproxy *. František Žiačik 9 лет назад 0
Я обновил ответ. Пожалуйста, посмотрите на это и скажите мне, если это то, что вам нужно. Linostar 9 лет назад 0
Спасибо, но я вижу, что я не достаточно ясно выразился. Я хочу прямо противоположное тому, что ты делаешь. Я хочу НЕ перечислять файлы текущей папки вместо звездочки. Я хочу, чтобы там была звездочка. Но Windows или Curl заменяет звездочку на файлы, которые я хочу отключить. František Žiačik 9 лет назад 0
Теперь я понимаю. Но похоже, что git bash для Windows работает иначе, чем стандартный bash. Возможно, вы хотите сделать это с помощью Cygwin's Bash? Linostar 9 лет назад 0
Да, выглядит так. Хотя я не совсем уверен, что это вопрос gitbash, возможно, это вопрос самой Windows. František Žiačik 9 лет назад 0