aboutsummaryrefslogtreecommitdiff
path: root/sh
Commit message (Collapse)AuthorAgeFilesLines
* Move prompt resetting into its own fileTom Ryder2017-01-112-6/+5
|
* Unset some more stupid variablesTom Ryder2017-01-112-5/+4
|
* More cleaning crapTom Ryder2017-01-111-0/+3
|
* Unset stupid GNU options to grep(1)/ls(1)Tom Ryder2017-01-112-0/+6
|
* Work around systems that export PS1Tom Ryder2017-01-111-0/+6
| | | | So far I don't like SlackWare's shell setup very much at all
* Have ls() func undo aliases in its wayTom Ryder2017-01-111-0/+4
|
* Group single-letter ls(1) optsTom Ryder2017-01-111-8/+4
|
* Use POSIX-compatible versions of ls(1) optsTom Ryder2017-01-112-22/+14
|
* Change some return codes for dir marking funcsTom Ryder2017-01-103-3/+3
| | | | | The mark not being set isn't really a usage error for the function given.
* Move tmux() function to tm(1df)Tom Ryder2017-01-101-19/+0
| | | | No real reason for it to be a shell function
* Much simpler LC_COLLATE approachTom Ryder2017-01-091-15/+4
|
* Force LC_COLLATE to a sane valueTom Ryder2017-01-091-0/+15
| | | | | | | | It always really annoys me when e.g. the leading dot or leading slash in pathnames or filenames gets ignored for the purposes of sorting. I may refine this later on but it seems like a good start for an approach.
* Adjust subshell logic in md()Tom Ryder2017-01-081-5/+8
|
* Improvements to path()Tom Ryder2017-01-071-16/+39
| | | | | | | | * Move common directory argument checking into helper function * Tolerate only one directory argument * Show subcommand in error output * Don't show help on failed commands, just suggest it * (Technicality) Fix trailing-newline lossage in subshell function
* Resolve an md() issueTom Ryder2017-01-051-13/+5
| | | | Made the whole thing tidier, actually
* Soothe shellcheck about new marked dirs funcsTom Ryder2017-01-022-1/+2
|
* Handle simple relative dirs in md()Tom Ryder2017-01-021-0/+9
| | | | And add an issue about handling complex ones
* Add marked-dir toolsTom Ryder2017-01-024-0/+71
|
* Remove an unnecessary trailing slash from ad()Tom Ryder2017-01-021-1/+1
|
* Work around newline-stripping in param expansionTom Ryder2017-01-026-12/+30
|
* Fix a zsh-as-sh/ksh-specific issueTom Ryder2016-12-301-0/+8
| | | | Very niche, but interesting to fix anyway
* Put operating system into OS env varTom Ryder2016-12-281-0/+3
|
* Don't save history for ed(1) rlwrapTom Ryder2016-12-241-1/+1
|
* Change prompt character for ed(1) wrapperTom Ryder2016-12-221-2/+2
| | | | | | POSIX default prompt for ed(1) (after P command) is an asterisk rather than a colon. I suppose it makes sense to have a distinct character from the one used for ex(1).
* Move pwgen() wrapper into pwg(1df)Tom Ryder2016-12-191-7/+0
|
* Remove diff()/rcsdiff() function wrappersTom Ryder2016-12-192-20/+0
| | | | | More trouble than they're worth, and looking at my shell history it looks like I type out the -u all the time anyway
* Make diff default even more conservativeTom Ryder2016-12-191-3/+3
|
* Only add -u to diff() call if more than two argsTom Ryder2016-12-191-1/+13
|
* Remove lhn()Tom Ryder2016-12-191-12/+0
| | | | Not portable, and I never use it anyway
* Use -e test to be consistentTom Ryder2016-12-191-1/+1
|
* Attempt a much saner approach to managing SHLVLTom Ryder2016-12-191-9/+0
|
* Defer kshrc loading until after shrc all loadedTom Ryder2016-12-181-0/+3
|
* Move TMUX_SHLVL trick into shrc.dTom Ryder2016-12-181-0/+9
|
* Change tack; force ENV if the file existsTom Ryder2016-12-181-2/+2
|
* Move ksh.sh shim into ksh subdirTom Ryder2016-12-171-30/+0
| | | | | So it doesn't get installed on systems where I don't use ksh, since it's mostly not needed
* Second try at compatible ksh testTom Ryder2016-12-171-6/+4
| | | | I guess this is my life now
* Improve ksh version test to catch ksh93s+Tom Ryder2016-12-171-1/+25
| | | | And hopefully all versions below
* Add a second version check to detect kshTom Ryder2016-12-171-1/+1
|
* Move HOSTNAME call into shrcTom Ryder2016-12-171-0/+3
|
* Rename all pdksh stuff to kshTom Ryder2016-12-171-6/+4
| | | | As part of a foray into more active use of ksh and derivatives.
* Add ad()Tom Ryder2016-12-131-0/+77
|
* Use opening parens for case safety in subshellTom Ryder2016-12-112-10/+10
|
* Prevent getopts call in tree() panickingTom Ryder2016-12-071-1/+2
|
* Remove setterm(1) callTom Ryder2016-12-031-3/+0
| | | | More trouble than it's worth
* Terser way to implement quiet command failuresTom Ryder2016-12-031-3/+1
| | | | Wrap it in curly brackets to make it a compound command
* Split ~/.shrc off stub ~/.shinit fileTom Ryder2016-12-033-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | NetBSD sh(1) and possible others don't tolerate a `return` short-circuit for ENV, which means that because that implementation also sources ENV if set regardless of whether the shell is interactive or not, all of the interactive stuff in ~/.shrc and ~/.shrc.d gets uselessly sourced and loaded up for non-interactive invocations of sh(1). To work around this, I've set ENV to be a new ~/.shinit file instead, which sources the ~/.shrc file only if the shell is interactive. ~/.shinit is the filename suggested in the man page for NetBSD sh(1) and Debian dash(1) as well. NetBSD's documented behaviour seems to be contrary to POSIX 2003: > ENV: This variable, when and only when an interactive shell is > invoked, shall be subjected to parameter expansion (see Parameter > Expansion ) by the shell, and the resulting value shall be used as a > pathname of a file containing shell commands to execute in the > current environment. No matter; this works fine, and makes non-interactive invocations of sh(1) on NetBSD much faster.
* setterm(1) isn't as standard as I thoughtTom Ryder2016-12-011-3/+5
| | | | | | | | | | | | | | | | | It's not available on default installs of any of the three major open-source BSDs, and isn't specified by POSIX. I only noticed this because the implement of sh(1) in NetBSD 7.0 seems to emit errors from calls to `command -p` to the terminal, regardless of any redirection of standard output and error: $ uname -a NetBSD faeroes 7.0.1_PATCH NetBSD 7.0.1_PATCH (GENERIC.201607220540Z) amd64 $ command -p setterm setterm: not found $ command -p setterm >/dev/null setterm: not found $ command -p setterm >/dev/null 2>&1 setterm: not found
* Remove some trailing whitespaceTom Ryder2016-10-192-2/+2
|
* Use simpler method for `path check`Tom Ryder2016-09-261-5/+6
| | | | Easier to read and does not require a subshell
* Correct a commentTom Ryder2016-09-181-2/+2
|