Sponsored Content
Full Discussion: Bash : While Loop behavior
Top Forums UNIX for Advanced & Expert Users Bash : While Loop behavior Post 302935030 by popeye on Thursday 12th of February 2015 12:11:29 PM
Old 02-12-2015
Bash : While Loop behavior

Good Morning

I think there may be something I dont understand fully.

The following code works well, but I dont like the set domen method.

Code:
#!/bin/bash
#
domen="y"
while [ "$domen" == "y" ]
do
echo " M A I N - M E N U"
echo "1. Contents of /etc/passwd"
echo "2. List of users currently logged"
echo "3. Prsent handling directory"
echo "4. Exit"
echo "Please enter option [1-4] : "
read theopt
echo $theopt
case $theopt in
1) echo $opt;;
2) echo $opt;;
3) echo $opt;;
4) exit 0;;
*) echo "Bad opt";;
esac
done


So I looked in one of my books (Written by Chris FA Johnson) and on the web for a second example. The following doesnt work. You'll have to run it to see what I mean. Ill try to explain. As I run through the menu options to test, at one point or another, my option isnt read and the behavior is kind of like a back space. Even when using -n1 for read behavior was odd.


Code:
#!/bin/bash
#
while : 
do
echo " M A I N - M E N U"
echo "1. Contents of /etc/passwd"
echo "2. List of users currently logged"
echo "3. Prsent handling directory"
echo "4. Exit"
echo "Please enter option [1-4] : "
read theopt
echo $theopt
case $theopt in
1) echo $opt;;
2) echo $opt;;
3) echo $opt;;
4) exit 0;;
*) echo "Bad opt";;
esac
done

Chris' example does provide a function to do the reading of the options, but I want to understand whats going on here.

As usual thanks for the help !
Pop

Last edited by popeye; 02-12-2015 at 01:18 PM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Mimic bash history behavior

Does anyone know of a way to mimic the up arrow/down arrow type bash behavior within a shell script? Say I have a scripted menu, and would like to be able to up arrow to bring up the last X number of lines of user input? Thanks to anybody with a suggestion. :) (0 Replies)
Discussion started by: sysera
0 Replies

2. Shell Programming and Scripting

bash and ksh: variable lost in loop in bash?

Hi, I use AIX (ksh) and Linux (bash) servers. I'm trying to do scripts to will run in both ksh and bash, and most of the time it works. But this time I don't get it in bash (I'm more familar in ksh). The goal of my script if to read a "config file" (like "ini" file), and make various report.... (2 Replies)
Discussion started by: estienne
2 Replies

3. Shell Programming and Scripting

BASH quoting behavior

The block below isn't a surprise:$ ls file1 file2 file3 $ x=* $ echo $x file1 file2 file3 $ echo '$x' $x $ echo "$x" * $But I found this block a bit bewildering:$ echo $x' >' * $I'm wondering why substitution wasn't performed on the $x, since it was unquoted (as far as I can tell).... (5 Replies)
Discussion started by: na5m
5 Replies

4. Shell Programming and Scripting

Using variables created sequentially in a loop while still inside of the loop [bash]

I'm trying to understand if it's possible to create a set of variables that are numbered based on another variable (using eval) in a loop, and then call on it before the loop ends. As an example I've written a script called question (The fist command is to show what is the contents of the... (2 Replies)
Discussion started by: DeCoTwc
2 Replies

5. Shell Programming and Scripting

BASH loop inside a loop question

Hi all Sorry for the basic question, but i am writing a shell script to get around a slightly flaky binary that ships with one of our servers. This particular utility randomly generates the correct information and could work first time or may work on the 12th or 100th attempt etc !.... (4 Replies)
Discussion started by: rethink
4 Replies

6. Red Hat

BASH command not found strang behavior

Hi all I am relatively new to linux (specifically red hat). I have installed Fedora 13 on my machine and started playing with the terminal when i found a very strange behavior when typing a command that is not found: the terminal does not prompt me back. In other words, i am logged as root (or... (4 Replies)
Discussion started by: abohmeed
4 Replies

7. UNIX for Advanced & Expert Users

Different redirection behavior in BASH/Linux when run under cron vice login ???

run_xfs_fsr is a xfs filesystem maintenance script designed to run under cron. The system is a home theater personal computer running mythbuntu 10.10, and is accessed remotely for these tests. cron runs a script, (xfs_fsr.sh) at 02:30 that runs the subject script under BASH and sets the... (3 Replies)
Discussion started by: keepitsimpleeng
3 Replies

8. UNIX for Advanced & Expert Users

unexpected behavior bash, set -o vi, history -a, and HISTFILE

I am trying to get my history in sync in multiple bash sections and things aren't working the way I expect. Desired behavior, hitting esc-K in all bash sessions (same userid and machine) will use the same history. Observed behavior: Esc-k shows the history of the current session, rather than... (8 Replies)
Discussion started by: gg48gg
8 Replies

9. Shell Programming and Scripting

Help on for loop in bash

Hi, In the code "for loop" has been used to search for files (command line arguments) in directories and then produce the result to the standard output. However, I want when no files are named on the command line, it should read a list of files from standard input and it should use the command... (7 Replies)
Discussion started by: Ra26k
7 Replies

10. Shell Programming and Scripting

Different behavior between bash shell and bash script for cmd

So I'm trying to pass certain json elements as env vars and use them later on in a script. Sample json: JSON='{ "Element1": "file-123456", "Element2": "Name, of, company written in, a very weird way", "Element3": "path/to/some/file.txt", }' (part of the) script: for s... (5 Replies)
Discussion started by: da1
5 Replies
ident2(8)						      System Manager's Manual							 ident2(8)

NAME
ident2 - An advanced ident daemon SYNOPSIS
ident2 [options] DESCRIPTION
ident2 is an advanced ident daemon, which can run as an inetd service or on it's own. It has various features such as user defined and ran- dom replies, extensive logging, and full administrative control. OPTIONS
The program follows the usual GNU syntax command-line unless it is unsupported on your system. GNU options begin with two dashes(`-') and have much more descriptive names. -h, --help Show summary of options. -u, --usage Shows example command lines -v, --version Show version information -l, --license Show licensing information -a, --force-inetd Force inetd mode, if autodetection isn't working. -d, --force-daemon Force standalone daemon, if autodetection isn't working. -i, --use-user-ident Allow user defined ident replies. Just do a echo 'ident ar' > ~/.ident to change your ident reply. -y, --user-reply-file File ident2 should look for in user's homedir for replies. Default is ~/.ident -n, --allow-noident-file Disable replies for user if user has a ~/.noident file. This behavior is disabled by default. -o, --client-timeout Clients timeout after this many seconds -s, --dont-change-uid Ident2 will normally try to change it's uid to something less privileged if it finds it's uid to be 0. This option disables this behavior altogether. -r, --always-random Always send a random reply, regardless of what kind of request the client made. This is useful for abusing the ident protocol as well as assisting outgoing IP masqueraded connections. -m, --daemon-maxclients Daemon-only: Accept no more than this many connections at a time. -p, --daemon-port Daemon-only: Bind this port, instead of 'auth' aka 113 SEE ALSO inetd(8), inetd.conf(5) AUTHOR
This manual page was written by Alexander Reelsen <ar@rhwd.net>, for the Debian GNU/Linux system (but may be used by others). GNU ident2(8)
All times are GMT -4. The time now is 05:36 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy