Sponsored Content
Top Forums Shell Programming and Scripting In bash, read to a variable with a default value to edit Post 302151240 by Perderabo on Friday 14th of December 2007 02:15:22 AM
Old 12-14-2007
This is not real easy, especially if you want a lot of editing features. I don't think it's really worth the trouble. But here is a start..
Code:
#! /usr/local/bin/bash

exec 4>/dev/tty

function readnum
{
        local prompt=$1
        local init=$2
        local backspace=$(echo -e \\b\\c)
        local enter=$(echo -e \\r\\c)
        local savesetting=$(stty -g)
        local keystroke data n i rest reading result
        n=0
        while (( ${#init})) ; do
                rest=${init#?}
                data[n]=${init%$rest}
                init=$rest
                ((n=n+1))
        done
        echo -e "${prompt}"\\c >&4
        while  ((i<n)) ; do
                echo -e ${data[i]}\\c >&4
                ((i=i+1))
        done
        stty -echo -icrnl -icanon min 1 time 0
        reading=1
        while ((reading)) ; do
                keystroke=$(dd bs=1 count=1 2>/dev/null)
                case $keystroke in
                $enter)
                        reading=0
                        ;;
                $backspace)
                        if ((n)) ; then
                                echo -e "${backspace} ${backspace}"\\c >&4
                                ((n=n-1))
                        fi
                        ;;
                *)
                        echo -e ${keystroke}\\c >&4
                        data[n]=$keystroke
                        ((n=n+1))
                esac
        done
        stty "$savesetting"
        echo >&4
        result=""
        i=0
        while  ((i<n)) ; do
                result="${result}${data[i]}"
                ((i=i+1))
        done
        echo $result
        return 0
}

final=$(readnum "well? " 0123)
echo the final number is $final
exit 0

 

10 More Discussions You Might Find Interesting

1. Linux

How to edit /etc/fstab when root was mounted as read only

can somebody help me out in editing the /etc/fstab. I am on RHEL5 (Tikanga). **The problem is that i have given a wrong LABEL in /etc/fstab for root volume and so after reboot, it is unable to resolve the wrong LABEL; so, i have to edit the /etc/fstab :-( -ilan (3 Replies)
Discussion started by: ilan
3 Replies

2. Red Hat

how to edit the bash shell?

Hello friends, I want to add some features to the bash shell.I logged in as the root.Even then could not view the source code of bash shell in RH 9,Fedora 8.It is in encrypted form.Can you please tell me how to include my code into bash shell. Please give me a sample code so that I can understand... (3 Replies)
Discussion started by: nsharath
3 Replies

3. UNIX Desktop Questions & Answers

grub, ok, bash, edit, kmdb and what else?

Hello There is a > prompt at Grub, # prompt for the console and $ for bash, but I am clueless about when and how to get into a specific prompt, how to move around between one prompt to another and how to exit. Is there a very basic guide anywhere that CLEARLY explains the type of shell... (2 Replies)
Discussion started by: mani1413
2 Replies

4. Shell Programming and Scripting

Read and edit multiple files using a while loop

Hi all, I would like to simply read a file which lists a number of pathnames and files, then search and replace key strings using a few vi commands: :1,$s/search_str/replace_str/g<return> but I am not sure how to automate the <return> of these vis commands when I am putting this in a... (8 Replies)
Discussion started by: cyberfrog
8 Replies

5. Shell Programming and Scripting

Edit csv file with bash

I' trying to use bash to edit a csv file from this format: "apples","oranges","grapes" "bread","butter","milk" To this: "apples oranges grapes" So that if I would open the csv file in open office, "apples oranges grapes" Would be in one single cell, and "bread (2 Replies)
Discussion started by: locoroco
2 Replies

6. Shell Programming and Scripting

Help with Bash piped while-read and a read user input at the same time

Hi I am new to writing script and want to use a Bash Piped while-read and read from user input. if something happens on server.log then do while loop or if something happend on user input then do while loop. Pseudocode something like: tail -n 3 -f server.log | while read serverline || read... (8 Replies)
Discussion started by: MyMorris
8 Replies

7. Shell Programming and Scripting

scan and edit in bash

so assume I have a dozen files in local directory and half of them are .txt and I only want to scan these text files and go inside each of them and replace absolute paths (e.g. C:\blabla\more blahblah\myfile.txt) with just the name of that file (myfile.txt) and then go to next line and look if... (6 Replies)
Discussion started by: Jaymz
6 Replies

8. Shell Programming and Scripting

[Bash] Read History function & Read Arrowkeys

Hi. How can I create a history function? (By "read" command or so) & How can I configure a read command so that the arrow keys are not displayed so funny? (^[[A) Thanks in advance. (4 Replies)
Discussion started by: sinnlosername
4 Replies

9. UNIX for Advanced & Expert Users

[BASH] Read value of variable, but not comment on the same line

Heyas So while i'm trying to increase security/usability of my TUI commands, i'm currently at tui-conf-get. There was also a bug, i wanted to fix, but sadly that bugfix is more insecure - but twice as fast as my current buggy method. I've added a getopts toggle, '-s' to toggle beSecure,... (8 Replies)
Discussion started by: sea
8 Replies

10. UNIX for Beginners Questions & Answers

Using read to assign value to bash variable not working

Hi, I am attempting to assign the output of the following command, to two bash variables, var1 and var2 using "read," but it doesn't seem to be working. # openstack hypervisor stats show | awk -F'|' 'NR==14{print $2,$3}' vcpus 92 # echo $? 0 # openstack hypervisor... (4 Replies)
Discussion started by: sand1234
4 Replies
CDBS-EDIT-PATCH(1)						CDBS Documentation						CDBS-EDIT-PATCH(1)

NAME
cdbs-edit-patch - create or edit a CDBS simple-patchsys.mk patch SYNOPSIS
cdbs-edit-patch patchname DESCRIPTION
cdbs-edit-patch creates or edits patches for use by the CDBS simple-patchsys.mk patch system. For more information about CDBS please see the documentation under /usr/share/doc/cdbs/. When patchname exists, cdbs-edit-patch will set up a temporary working source tree, apply all patches up to and including patchname in lex- icographic order, and spawn an interactive shell for the developer. The developer can then edit files in this working tree. When the developer is done and exits the shell, cdbs-edit-patch updates patchname to reflect the changes made. To abort the process from the inter- active shell, exit with a nonzero exit value. When patchname does not exist, cdbs-edit-patch will assume that a new patch should be created. As with the above scenario, cdbs-edit-patch will first create a temporary working source tree and apply all patches up to the new patch in lexicographic order. When the shell is quit, cdbs-edit-patch will create patchname. AUTHOR
CDBS was written by Colin Walters and others. cdbs-edit-patch was written by Martin Pitt. This manual page was written by Peter Eisen- traut based on the dpatch-edit-patch(1) manual page. SEE ALSO
CDBS documentation in /usr/share/doc/cdbs/, /usr/share/cdbs/1/rules/simple-patchsys.mk, dpatch-edit-patch(1), quilt(1) Debian 5 Feb 2006 CDBS-EDIT-PATCH(1)
All times are GMT -4. The time now is 02:07 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy