From: Fredrik Fornwall Date: Wed, 12 Aug 2015 00:38:18 +0000 (-0400) Subject: termux-tools: Improve the chsh command X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/commitdiff_plain/da9d85783c63b24380c0090d07b0b47b1d941a04?hp=4b81c4eb92bcca68c8a37886ceaeb4a3b8ca3802 termux-tools: Improve the chsh command --- diff --git a/packages/termux-tools/build.sh b/packages/termux-tools/build.sh index d4616217..58387d8e 100644 --- a/packages/termux-tools/build.sh +++ b/packages/termux-tools/build.sh @@ -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 diff --git a/packages/termux-tools/chsh b/packages/termux-tools/chsh index 4fd78526..edc7abf3 100755 --- a/packages/termux-tools/chsh +++ b/packages/termux-tools/chsh @@ -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