aboutsummaryrefslogtreecommitdiff
path: root/compile/oksh.sh
diff options
context:
space:
mode:
Diffstat (limited to 'compile/oksh.sh')
-rwxr-xr-xcompile/oksh.sh31
1 files changed, 31 insertions, 0 deletions
diff --git a/compile/oksh.sh b/compile/oksh.sh
new file mode 100755
index 0000000..1a44c0f
--- /dev/null
+++ b/compile/oksh.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+set -ex
+codedir="$HOME/scm/pub"
+okshdir="${codedir}/ibara-oksh"
+if ! [ -d "$okshdir" ] ; then
+ git clone https://github.com/ibara/oksh "$okshdir"
+fi
+cd "$okshdir"
+git checkout oksh-7.6
+./configure
+make
+sudo make install
+cd -
+
+if ! grep /usr/local/bin/oksh /etc/shells ; then
+ sudo sh -c 'echo /usr/local/bin/oksh >> /etc/shells'
+fi
+
+if ! grep -qF 'export ENV=$HOME/.kshrc' ~/.profile; then
+ echo 'export ENV=$HOME/.kshrc' >> ~/.profile
+fi
+
+set +x
+if ! grep ^$(id -un) /etc/passwd | grep /usr/local/bin/oksh ; then
+ printf "Change shell to oksh? [y]es/[n]o: "
+ read -r resp
+ if [ "$resp" = "y" ] ; then
+ chsh -s /usr/local/bin/oksh
+ fi
+fi
+set -x