summaryrefslogtreecommitdiff
path: root/etc/ksh.kshrc
diff options
context:
space:
mode:
authorAlexander Hall <halex@cvs.openbsd.org>2014-07-11 21:12:40 +0000
committerAlexander Hall <halex@cvs.openbsd.org>2014-07-11 21:12:40 +0000
commit652022f3d4f6867978fa8f06f0ee51613193d51d (patch)
tree9cdcdd101508a5fc3c01ad456df79318b8fcc96d /etc/ksh.kshrc
parent61fc1c8de507b24dd2efd2a28a035454b4900677 (diff)
Introducing a nifty _ignore function makes the file neater and easier
to maintain. The eval's must stay to make the aliases expand at run time instead of at parse time. ok krw@
Diffstat (limited to 'etc/ksh.kshrc')
-rw-r--r--etc/ksh.kshrc52
1 files changed, 13 insertions, 39 deletions
diff --git a/etc/ksh.kshrc b/etc/ksh.kshrc
index 78f71456c81..f825b430fae 100644
--- a/etc/ksh.kshrc
+++ b/etc/ksh.kshrc
@@ -1,5 +1,5 @@
:
-# $OpenBSD: ksh.kshrc,v 1.18 2014/07/11 16:41:16 halex Exp $
+# $OpenBSD: ksh.kshrc,v 1.19 2014/07/11 21:12:39 halex Exp $
#
# NAME:
# ksh.kshrc - global initialization for ksh
@@ -98,44 +98,18 @@ case "$-" in
alias stripe='label "$USER@$HOST ($tty) - $PWD"'
alias istripe='ilabel "$USER@$HOST ($tty)"'
- function wftp { ilabel "ftp $*"; "ftp" "$@"; eval istripe; }
- function wcd { \cd "$@" && eval stripe; }
- function wssh
- {
- local rc
- "ssh" "$@"
- rc=$?
- eval istripe
- eval stripe
- return $rc
- }
- function wtelnet
- {
- local rc
- "telnet" "$@"
- rc=$?
- eval istripe
- eval stripe
- return $rc
- }
- function wrlogin
- {
- local rc
- "rlogin" "$@"
- rc=$?
- eval istripe
- eval stripe
- return $rc
- }
- function wsu
- {
- local rc
- "su" "$@"
- rc=$?
- eval istripe
- eval stripe
- return $rc
- }
+ # Run stuff through this to preserve the exit code
+ function _ignore { local rc=$?; "$@"; return $rc; }
+
+ function wftp { ilabel "ftp $*"; "ftp" "$@"; _ignore eval istripe; }
+
+ function wcd { \cd "$@"; _ignore eval stripe; }
+
+ function wssh { \ssh "$@"; _ignore eval 'istripe; stripe'; }
+ function wtelnet { \telnet "$@"; _ignore eval 'istripe; stripe'; }
+ function wrlogin { \rlogin "$@"; _ignore eval 'istripe; stripe'; }
+ function wsu { \su "$@"; _ignore eval 'istripe; stripe'; }
+
alias su=wsu
alias cd=wcd
alias ftp=wftp