You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
$ test -e asdf && echo "asdf exists"
$ test -d adsf && echo "adsf exists and is a directory"
And more... You can test for a file's length, it's permissions, it's type, if it's executable, if it's a socket, if it's newer than another file... You can make assertions over strings etc.
This specific case of test can be rewritten as:
$ if [ -e asdf ]; then echo "asdf exists"; fi
$ if [ -d adsf ]; then echo "asdf exists and is a directory"; fi
This is also how loops work in the shell, as far as I recall. Heh... A loop that spawns a Node.js runtime on every iteration would be pretty bad.
I just think it's a little weird for this kind of stuff to exist and even require another module to work...
This would be a pretty good example of going to far with modules, don't you think?
test from coreutils is an example of a useful, fast implementation of something that does 1 thing in the UNIX way... Which sort of means constructing a verb that's modular enough to be composed, but useful enough... A verb.
It seems like if this utility's approach was going to write coreutils, instead of test, there'd be:
path-exists
path-exists-and-is-directory
path-exists-and-is-directory-and-is-newer-than
path-exists-and-has-filename-equal-to
The text was updated successfully, but these errors were encountered:
I'm aware of test and how it works. I use it all the time. This was made for cross-platform compatibility (Windows). I'm not trying to replace Unix tools.
I'm sorry for locking this issue, but I don't have the energy to argue about the merits of small modules today. You're probably never going to agree with me anyways. I'll leave you with sindresorhus/ama#10 (comment) and sindresorhus/ama#367 (comment).
Sorry if this isn't relevant. This repository showed up on my GitHub newsletter.
Do you know the shell's if statement is actually just syntactic sugar for the
test
coreutils utility?http://www.gnu.org/software/coreutils/manual/html_node/test-invocation.html#test-invocation
So on pretty much any shell, you can run:
And more... You can test for a file's length, it's permissions, it's type, if it's executable, if it's a socket, if it's newer than another file... You can make assertions over strings etc.
This specific case of
test
can be rewritten as:This is also how loops work in the shell, as far as I recall. Heh... A loop that spawns a Node.js runtime on every iteration would be pretty bad.
I just think it's a little weird for this kind of stuff to exist and even require another module to work...
This would be a pretty good example of going to far with modules, don't you think?
test
from coreutils is an example of a useful, fast implementation of something that does 1 thing in the UNIX way... Which sort of means constructing a verb that's modular enough to be composed, but useful enough... A verb.It seems like if this utility's approach was going to write coreutils, instead of
test
, there'd be:path-exists
path-exists-and-is-directory
path-exists-and-is-directory-and-is-newer-than
path-exists-and-has-filename-equal-to
The text was updated successfully, but these errors were encountered: