Compare commits

...

3 Commits

Author SHA1 Message Date
gbmor 6532e13f7a Merge pull request 'Improve command substitution' (#7) from rjc/wiki:command_substitution into trunk
Reviewed-on: #7
2023-09-05 14:50:18 +00:00
Raf Czlonka 4e2c82f4fb Improve command substitution
- .kshrc file isn't special - $ENV can point to any file
- use $MAIL since is available by default
- replace backticks ('`') with '$()' - they both nest and look better
- be consistent about using `[` or `test` - chose the latter here
- use `-n` for the second test case in order to keep the examples'
  logic the same:

	[...] && echo '* '
2023-07-11 16:13:32 +01:00
Raf Czlonka 0a2509e3e0 Fix test case 2023-07-11 16:03:17 +01:00
1 changed files with 4 additions and 4 deletions

View File

@ -11,7 +11,7 @@ them up on this shell. So here are some things I do on my local machine
that work here: that work here:
To get the shell to tell you when you have new mail, after command To get the shell to tell you when you have new mail, after command
executions, add this to your `.profile` or your `.kshrc` files executions, add this to your `.profile` or your `$ENV` files
(or other shell RC file) in your home directory. (or other shell RC file) in your home directory.
``` ```
@ -20,16 +20,16 @@ export MAILCHECK=0
And, if you want, you can have a persistent notification when And, if you want, you can have a persistent notification when
you have un-incorporated mail, or more specifically, when your you have un-incorporated mail, or more specifically, when your
`/var/mail/<username>` isn't empty. `$MAIL` (`/var/mail/$USER` by default)` isn't empty.
``` ```
PS1="\$([-s /var/mail/`whoami` ] && echo '* ')$PS1" PS1="$(test -s $MAIL ] && echo '* ')$PS1"
``` ```
For maildir try this: For maildir try this:
``` ```
PS1="$(test -z "`ls -A $HOME/Maildir/new`" || echo '* ')$PS1" PS1="$(test -n "$(ls -A $HOME/Maildir/new)" && echo '* ')$PS1"
``` ```
This works in `/bin/ksh`, I can't speak for other shells. This works in `/bin/ksh`, I can't speak for other shells.