#!/bin/sh set -e -u show_usage () { echo "usage: chsh [-s shell]" echo "Change the login shell." } set_shell () { if [ "$1" = login ]; then echo "login is not a valid shell" exit 1 fi mkdir -p $HOME/.termux NEW_SHELL=$PREFIX/bin/$1 if test -x $NEW_SHELL -a ! -d $NEW_SHELL; then ln -f -s $NEW_SHELL $HOME/.termux/shell else echo "$NEW_SHELL is not an executable file!" fi } O=`getopt -l help -- hs: "$@"` eval set -- "$O" while true; do case "$1" in -h|--help) show_usage; exit 0;; -s) set_shell $2; exit 0;; --) shift; break;; *) echo Error; show_usage; exit 1;; esac done DEFAULT_SHELL=bash if [ ! -x $PREFIX/bin/$DEFAULT_SHELL ]; then DEFAULT_SHELL=ash; fi echo Changing the login shell echo Enter the new value, or press ENTER for the default printf " Login Shell [$DEFAULT_SHELL]: " read shell if [ -z "$shell" ]; then shell=$DEFAULT_SHELL; fi set_shell $shell