Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fish shell doesn't work (tested with OSX 10.9) #5507

Closed
ghost opened this issue Apr 23, 2015 · 4 comments
Closed

Fish shell doesn't work (tested with OSX 10.9) #5507

ghost opened this issue Apr 23, 2015 · 4 comments

Comments

@ghost
Copy link

@ghost ghost commented Apr 23, 2015

Using OSX 10.9.5, and the Fish shell, version 2.1.1-1204-gb5d9e36, youtube-dl didn't work. I tried the command youtube-dl https://www.youtube.com/playlist?list=PL91045D0297689C75, and the command youtube-dl --extract-audio --audio-format mp3 https://www.youtube.com/playlist?list=PL91045D0297689C75.

Both commands failed identically, with this error:

No matches for wildcard 'https://www.youtube.com/playlist?list=PL91045D0297689C75'.
fish: youtube-dl  https://www.youtube.com/playlist?list=PL91045D0297689C75
                  ^
Usage: youtube-dl [OPTIONS] URL [URL...]

youtube-dl: error: You must provide at least one URL.
Type youtube-dl --help to see a list of all options.

Using the 'sh' shell worked perfectly, however.

@yan12125
Copy link
Collaborator

@yan12125 yan12125 commented Apr 23, 2015

For all shells, including Fish, you need to enclose URLs with '?' or '&' in single or double quotes.

@yan12125 yan12125 closed this Apr 23, 2015
@ghost
Copy link
Author

@ghost ghost commented Apr 23, 2015

Great! Thanks for the information, I couldn't find it in the man page. The sh shell worked just fine without using quotations, which is why I thought it was a fish shell error.

@yan12125
Copy link
Collaborator

@yan12125 yan12125 commented Apr 23, 2015

Simply because on Mac sh does not support the special character '?'. Anyway, it's a good practice to enclose URLs in quotes.

@jaimeMF
Copy link
Collaborator

@jaimeMF jaimeMF commented Apr 23, 2015

That's because in both shells ? is used for filename expansion, but if no filenames matches (like for https://www.youtube.com/playlist?list=PL91045D0297689C75) fish just outputs the error while bash returns the original string. I use the fish shell and I'm used to quoting every url, you'll also get used. See fish-shell/fish-shell#1965 and fish-shell/fish-shell#967 if you want to know more about fish behaviour.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.