summaryrefslogtreecommitdiff
path: root/misc/mksh
diff options
context:
space:
mode:
Diffstat (limited to 'misc/mksh')
-rwxr-xr-xmisc/mksh8
1 files changed, 3 insertions, 5 deletions
diff --git a/misc/mksh b/misc/mksh
index 6cb5fd6..4b94652 100755
--- a/misc/mksh
+++ b/misc/mksh
@@ -1,11 +1,9 @@
#!/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
+newname() { defname="script"; name=$defname`ls | grep "^$defname[0-9]*" | wc -l | tr -d '[:blank:]'`; } # Remove blank space in certain non-GNU implementations of wc
[ -z "$1" ] && newname || name="$1"
+[ -e "$name" ] && echo "File $name exists!" && exit 1
[ -z "$2" ] && shebang="#!/bin/sh" || shebang="$2"
-touch "$name"
-echo "$shebang" > "$name"
-chmod +x "$name"
-$EDITOR "$name" || vim "$name" || vi "$name" || nano "$name" || ed "$name" # Try editors lol
+echo "$shebang" > "$name" && chmod +x "$name" && $EDITOR "$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\""