Server : Apache/2.4.41 (Ubuntu) System : Linux journalup 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /bin/ |
#!/bin/sh # To generate localization information, run: # xgettext -o - -L Shell select-editor # if no gettext it will fallback to gettext on /usr/share/sensible-utils/bin # see #728612 PATH=$PATH:/usr/sbin:/usr/share/sensible-utils/bin # EASIEST editor EASIEST="/bin/nano" # Ensure that $HOME/.selected_editor is writeable touch $HOME/.selected_editor || exit 1 sorted_list_of_editors() { update-alternatives --query editor | while read emptyline; do # skip the first entry (header) as well as the rest of processed entries if [ -z "$emptyline" ]; then continue; fi # extract the two interesting fields local ALTERNATIVE='' local PRIORITY='' while read field value; do case "${field}" in 'Alternative:') ALTERNATIVE="${value}";; 'Priority:') PRIORITY="${value}";; esac if [ -n "$ALTERNATIVE" ] && [ -n "$PRIORITY" ]; then break; fi done if [ -z "$ALTERNATIVE" ] || [ -z "$PRIORITY" ]; then continue; fi echo "${PRIORITY}:${ALTERNATIVE}" done | sort -n -r | cut -d':' -f 2- } editors=`update-alternatives --list editor | wc -l` if [ $editors -gt 1 ]; then # fix simple to 1 see #777168 simple=1 echo echo "`gettext 'Select an editor. To change later, run'`" "'select-editor'." i=0 editors=`sorted_list_of_editors` for e in $editors; do i=`expr $i + 1` desc= if [ $e = "$EASIEST" ]; then desc=" <---- ` gettext 'easiest'`" simple=$i fi echo " $i. $e$desc" done echo "" selected=x while /bin/true; do if [ -z "$selected" -a ! -z "$simple" ]; then selected="$simple" elif ! test $selected -gt 0 2>/dev/null; then echo -n "$(gettext 'Choose') 1-$i [$simple]: " read -r selected elif ! test $selected -le $i 2>/dev/null; then echo -n "$(gettext 'Choose') 1-$i [$simple]: " read -r selected else break fi done i=0 for e in $editors; do i=`expr $i + 1` if [ $i -eq $selected ]; then echo "# Generated by /usr/bin/select-editor" > $HOME/.selected_editor echo "SELECTED_EDITOR=\"$e\"" >> $HOME/.selected_editor && exit 0 fi done fi exit 1