It's a reference site about Bash scripting, and it's being improved each day since it still has some rough edges. But I'm starting to like the result on desktop resoulution. Next up is improving the CSS for low-res devices and adding toggable color-themes by clicking some radio-buttons or something :-)
Nice. My initial reaction is that the serif fonts are hard to read. Can you try some console or san-serif fonts, or make that configurable? Someone else suggested toggleable themes, so it would go with that.
Very nice. I know that it is a bash quick reference, but I was kinda expecting to see an example, at least for each section. Or a different page with a few examples and maybe a simulator. Kinda to see the magic.
But it's cool nevertheless.
I did do a bit of experimentation with modal dialogs + some highlight-js for code snippets, but decided to skip it for now and fix up all loose-ends. But it's coming at some point. I'm also considering doing some screenrecordings at some point.
What do you mean by a simulator? I think perhaps that'd prove beyond my skill but the idea sounds interesting.
Second this. I was looking for examples of how to use some of the commands. I was able to easily google it in another tab, but it broke the quick-reference workflow.
As a nostalgic side note, I'm not even that old, and I miss when the Internet looked like this. Just regular folks learning HTML and writing about something they find interesting. These days, everything looks like it was built in a Wix or Squarespace factory.
I really want to check this out, but my eyes hurt reading the page because the contrast of gray on black is so low. A vision-impaired person might not be able to read it at all. Please consider using this tool to pick a text color that provides sufficient contrast: https://snook.ca/technical/colour_contrast/colour.html#fg=90...
Chrome inspector shows the contrast as 5.07 which seems to pass the recommended AA 4.5 threshold.
I tried fiddling with the colors in the inspector, if you increase the contrast you start to get something I would describe as burn-in, after images in vision of the lines of text. Very uncomfortable, I actually prefer it with lower contrast.
Somehow i doubt it's testing the grey on black when it is getting that number. Or if it is, it's probably being thrown off in averaging out the high contrast of the orange on black.
Good advice - didn't cross my mind at all. I'm working on some theming and the contrast should be suited for vision-impaired or have an option for this, in about a week or so.
I always find the context switch to get to a website jarring, and really really love tools that give me documentation on the command line. For example, I can type "go doc foo.Bar" and instantly read the docs for foo.Bar (where foo is usually resolved to example.com/some/go/package/foo, based on what is in go.mod and installed on the system). So for this, I would really like bash's built-in help to show me all this stuff.
They did a 10% implementation of what would be good:
$ help [
[: [ arg... ]
Evaluate conditional expression.
This is a synonym for the "test" builtin, but the last argument must
be a literal `]', to match the opening `['.
But it doesn't know how to dive into [ and show docs for the operators, i.e., "help [ -e" doesn't work. The [ documentation also doesn't tell you what options are available, and of course [ doesn't implement --help (but, of course, /bin/[ does. And people say computers are hard to use! Psh!).
So anyway, if this could all be fixed with a command-line utility, that would be wonderful. It is likely that if I ever need to remember what [ -e does, I'll "man [" or failing that "info bash" or failing that, give up and write the program in go so at least I can work from some documentation.
> It is likely that if I ever need to remember what [ -e does
I realize a lot of folks consider the context switch to paper to also be jarring, but this is why I like analog reference works. I remember roughly how far in to the book the table of all those obscure flags are, and the book more or less falls open to it, because I've been there before.
> I always find the context switch to get to a website jarring, and really really love tools that give me documentation on the command line.
Heh, as a person who mostly writes Clojure code, I always find the context switch to go to the command line jarring and really really love tools that give me the documentation straight in my editor!
I understand the concern, but [ is one of those idiosyncratic shell builtins that you eventually get used to and the help does point you toward maybe typing "help test". But, yeah it should probably say it explicitly or just append the "help test" content when it prints "help [".
> "help [ -e" doesn't work. The [ documentation also doesn't tell you what options are available
Well, knowing that `[` is the same as `test`, you can `man test` to see the available options.
Personally, I avoid `[` for `[[`. To see the options for that, I do `man bash`, then type `/\[\[`, hit Enter, and press `n` a few times until the list of options appears. It's in the "CONDITIONAL EXPRESSIONS" section.
Almost everything shown in this site is available in bash's manpage.
GNU's `ls` has most of its documentation in `info ls`.
There's no need to turn to websites. All documentation is available locally from the command line. If anything, it just requires a bit of skill in searching. With `man`/`less`, you search with `/` like I showed; in `info`, you search with <Ctrl-s>.
Also, `command [ --help` does work. It's not the same as the built-in, but it should be mostly the same.
I bookmarked this as it will be very helpful to me, so thank you!
My constructive or no so constructive criticism is that I really really don't like the theme. I find it really hard to look at and a bit difficult to read.
I'm about to implement some common color-themes which'll be easy to toggle (visually/color-wise it'll be like those themes you'd see in an IDE like Eclipse or Intelli-J f.e.). I expect to be finished with the feature in a week or so.
Thank you for the feedback and glad you like the content :-)
Echoing that is is a very useful site and echoing concerns re: theme and glad you are giving some options! Specially, I'd like to callout the main problem to address when adding additional themes is that the headers are needless bright while there is very low contrast when it comes to the actual content.
This section is missing stuff like setuid, sticky bit, extended attributes, etc. (SELinux stuff and setgid? I'm not sure if there's more.) For example, `ls -ld /tmp` shows `drwxrwxrwt`, `ls -l /bin/sudo` shows `-rwsr-xr-x`.
> History Expansion
To this section, it might be good to add `!$`. Also maybe a quick overview on word designators, to cover syntax like `!:^`, `!:2`, `!:<asterisk>`, etc. There's also modifiers, like `!$:h` to return the (h)ead of a path that's the last argument of the previous command, etc.
> Bash Globbing
> @ Matches exactly one of a given pattern
It might be better to put these extended glob ones as @(pattern-list) for example, just like it is on the manpage. Putting it just like @ next to ? or <asterisk>, implies that it just goes like that alone.
> Overview of Bash Symbols
> $(( )) is used for saving the output of arithmetic.
I guess you could save it, but you can also pass it directly to where you need it. I wouldn't call `echo $(( 1 + 2 ))` saving it.
> $[] deprecated integer expansion construct which is replaced by (( ))
No, it's replaced by `$(())`.
EDIT: Removed the part about the file types. You have that covered. However, you wrote
> c Special file
> b Block device
They're both special files. `c` is for character devices.
I like the site! Question, any reason why your internal hyperlinks (<a name>) jump to beneath the header of the section instead of showing the header of the section?
78 comments
[ 4.7 ms ] story [ 209 ms ] threadIt was a bit tedious work I must admit.
http://zsh.sourceforge.net/Doc/Release/Expansion.html
What do you mean by a simulator? I think perhaps that'd prove beyond my skill but the idea sounds interesting.
Joking aside, the bash man page is pretty good and well structured.
Not sure how important it actually is, but your privacy policy link has no information :)
As a nostalgic side note, I'm not even that old, and I miss when the Internet looked like this. Just regular folks learning HTML and writing about something they find interesting. These days, everything looks like it was built in a Wix or Squarespace factory.
I tried fiddling with the colors in the inspector, if you increase the contrast you start to get something I would describe as burn-in, after images in vision of the lines of text. Very uncomfortable, I actually prefer it with lower contrast.
For all people like me addicted to this kind of reference websites full of information, check out http://hyperpolyglot.org/unix-shells (and all pages on http://hyperpolyglot.org/ actually).
Good job!
They did a 10% implementation of what would be good:
But it doesn't know how to dive into [ and show docs for the operators, i.e., "help [ -e" doesn't work. The [ documentation also doesn't tell you what options are available, and of course [ doesn't implement --help (but, of course, /bin/[ does. And people say computers are hard to use! Psh!).So anyway, if this could all be fixed with a command-line utility, that would be wonderful. It is likely that if I ever need to remember what [ -e does, I'll "man [" or failing that "info bash" or failing that, give up and write the program in go so at least I can work from some documentation.
I realize a lot of folks consider the context switch to paper to also be jarring, but this is why I like analog reference works. I remember roughly how far in to the book the table of all those obscure flags are, and the book more or less falls open to it, because I've been there before.
Heh, as a person who mostly writes Clojure code, I always find the context switch to go to the command line jarring and really really love tools that give me the documentation straight in my editor!
Well, knowing that `[` is the same as `test`, you can `man test` to see the available options.
Personally, I avoid `[` for `[[`. To see the options for that, I do `man bash`, then type `/\[\[`, hit Enter, and press `n` a few times until the list of options appears. It's in the "CONDITIONAL EXPRESSIONS" section.
Almost everything shown in this site is available in bash's manpage.
GNU's `ls` has most of its documentation in `info ls`.
There's no need to turn to websites. All documentation is available locally from the command line. If anything, it just requires a bit of skill in searching. With `man`/`less`, you search with `/` like I showed; in `info`, you search with <Ctrl-s>.
Also, `command [ --help` does work. It's not the same as the built-in, but it should be mostly the same.
My constructive or no so constructive criticism is that I really really don't like the theme. I find it really hard to look at and a bit difficult to read.
Thank you for the feedback and glad you like the content :-)
This section is missing stuff like setuid, sticky bit, extended attributes, etc. (SELinux stuff and setgid? I'm not sure if there's more.) For example, `ls -ld /tmp` shows `drwxrwxrwt`, `ls -l /bin/sudo` shows `-rwsr-xr-x`.
> History Expansion
To this section, it might be good to add `!$`. Also maybe a quick overview on word designators, to cover syntax like `!:^`, `!:2`, `!:<asterisk>`, etc. There's also modifiers, like `!$:h` to return the (h)ead of a path that's the last argument of the previous command, etc.
> Bash Globbing
> @ Matches exactly one of a given pattern
It might be better to put these extended glob ones as @(pattern-list) for example, just like it is on the manpage. Putting it just like @ next to ? or <asterisk>, implies that it just goes like that alone.
> Overview of Bash Symbols
> $(( )) is used for saving the output of arithmetic.
I guess you could save it, but you can also pass it directly to where you need it. I wouldn't call `echo $(( 1 + 2 ))` saving it.
> $[] deprecated integer expansion construct which is replaced by (( ))
No, it's replaced by `$(())`.
EDIT: Removed the part about the file types. You have that covered. However, you wrote
> c Special file
> b Block device
They're both special files. `c` is for character devices.
If you ever want to add some useless splash for no reason, can I suggest one of these?
https://codepen.io/search/pens?q=terminal
Also I'm loving the animated favicon.