summaryrefslogtreecommitdiff
path: root/misc/mksh
diff options
context:
space:
mode:
Diffstat (limited to 'misc/mksh')
-rwxr-xr-xmisc/mksh11
1 files changed, 11 insertions, 0 deletions
diff --git a/misc/mksh b/misc/mksh
new file mode 100755
index 0000000..6b43300
--- /dev/null
+++ b/misc/mksh
@@ -0,0 +1,11 @@
+#!/bin/sh
+# Sorry in advance to 'mksh' users (users of the shell, not this script)
+newname() { defname="script"; name=$defname`ls | grep "^$defname[0-9]*" | wc -l | tr -d '[:blank:]'`; } # Remove blank space for certain non-GNU wc implementations
+[ -z "$1" ] && newname || name="$1"
+[ -z "$2" ] && shebang="#!/bin/sh" || shebang="$2"
+touch "$name"
+echo "$shebang" > "$name"
+chmod +x "$name"
+$EDITOR "$name" || vim "$name"
+# Delete file if it is just exited w/o being changed
+[ "`cat "$name"`" = "$shebang" ] && rm "$name" && echo "Removed empty script \"$name\"" || echo "Saved script \"$name\""