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 '* '
This commit is contained in:
parent
0a2509e3e0
commit
4e2c82f4fb
|
@ -11,7 +11,7 @@ them up on this shell. So here are some things I do on my local machine
|
|||
that work here:
|
||||
|
||||
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.
|
||||
|
||||
```
|
||||
|
@ -20,16 +20,16 @@ export MAILCHECK=0
|
|||
|
||||
And, if you want, you can have a persistent notification when
|
||||
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:
|
||||
|
||||
```
|
||||
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.
|
||||
|
|
Loading…
Reference in New Issue