termux-tools: Improve the chsh command
authorFredrik Fornwall <fredrik@fornwall.net>
Wed, 12 Aug 2015 00:38:18 +0000 (20:38 -0400)
committerFredrik Fornwall <fredrik@fornwall.net>
Wed, 12 Aug 2015 00:38:18 +0000 (20:38 -0400)
packages/termux-tools/build.sh
packages/termux-tools/chsh

index d461621..58387d8 100644 (file)
@@ -1,6 +1,6 @@
 TERMUX_PKG_HOMEPAGE=http://termux.com/
 TERMUX_PKG_DESCRIPTION="Some tools for Termux"
-TERMUX_PKG_VERSION=0.7
+TERMUX_PKG_VERSION=0.10
 
 termux_step_make_install () {
        $CXX $CFLAGS $LDFLAGS -std=c++14 -Wall -Wextra -pedantic -Werror $TERMUX_PKG_BUILDER_DIR/*.cpp -o $TERMUX_PREFIX/bin/termux-elf-cleaner
index 4fd7852..edc7abf 100755 (executable)
@@ -1,22 +1,19 @@
-#!/system/bin/sh
+#!/bin/sh
 
 set -e -u
 
-SCRIPTNAME=$0
 show_usage () {
-       echo "usage: $SCRIPTNAME [-s shell]"
+       echo "usage: chsh [-s shell]"
        echo "Change the login shell."
 }
 
 set_shell () {
        mkdir -p $HOME/.termux
-       NEW_SHELL=$1
-       if test -x $PREFIX/bin/$NEW_SHELL; then
-               ln -f -s $PREFIX/bin/$NEW_SHELL $HOME/.termux/shell
-       elif test -x $NEW_SHELL; then
+       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 "Error: $NEW_SHELL is not an executable file"
+               echo "$NEW_SHELL is not an executable file!"
        fi
 }
 
@@ -31,5 +28,13 @@ while true; do
        esac
 done
 
-echo "Error: Specify shell with the -s flag"
-exit 1
+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