summaryrefslogtreecommitdiff
path: root/misc/mksh
blob: 6cb5fd6d9562ccce153caa1774533229d9bb5c08 (plain)
1
2
3
4
5
6
7
8
9
10
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" || vi "$name" || nano "$name" || ed "$name" # Try editors lol
# 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\""