Sponsored Content
Full Discussion: Accepting A-Za-Z
Top Forums Shell Programming and Scripting Accepting A-Za-Z Post 302462624 by DGPickett on Thursday 14th of October 2010 04:02:43 PM
Old 10-14-2010
If you want to restrict the input, this might work, except sed will want an extra linefeed:

Code:
$(
 echo 'Enter Parameter: \c' >/dev/tty
 sed '
   /[^a-zA-Z0-9]/{
      s/.*/Must contain only letters and numbers: "&"/
      w /dev/tty
      d
     }
   q
  '
 )


This is a bit busier, but you see you can do almost anything in the $() to get the parameter. narrative: Capture the stdout of a subshell as a single parameter, set output_var blank, while output_var is blank, prompt for the parameter and read one line, saving it for error output. If the line is blank or has a forbidden character, it is rejected by displaying it including expansion of any control characters and looping back else echo it out of the subshell as the parameter:

Code:
$(
   l2=""
   while [ "$l2" = "" ]
   do
    echo 'Enter Parameter: \c' >/dev/tty
    line | read l
    echo "$l" | sed '/[^a-zA-Z0-9]/d' | read l2
    if [ "$l2" = "" ]
    then
     echo "Invalid, must be only numbers and letters and not empty: '$l'" | cat -vt >/dev/tty
    fi
   done

  echo "$l2"
 )

Add " | tr '[a-z] '[A-Z]' " or
" | sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' " for all caps -- there may be other more specific options and commands, but this general solution suffices and fits other needs, too. Since there is sed in the scripts above, it can be done at the end of the current sed script parameter.

Last edited by DGPickett; 10-15-2010 at 11:13 AM.. Reason: wrong sed capitalize command
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Accepting User Input

I'm just starting out with UNIX and have figured some stuff out. I just need some help with accepting user input on the command line. For instance, I created a number counter that counts down from any positive hard coded number. But, I want the commnad line line to read "Countdown 20" where 20... (1 Reply)
Discussion started by: scott78
1 Replies

2. HP-UX

Oracle not accepting new connections

Hi UNIX guru's, Have recently upgraded Oracle from 8i to 10g on an HP-UX (RISC) 11.11 box. At least twice a day the database stops accepting incoming connections and the following errors are observed in the various logs. The box needs to be rebooted to get everything going again. The... (4 Replies)
Discussion started by: mat_cottrell
4 Replies

3. Shell Programming and Scripting

Not able to display the value I am accepting as an argument

Hi, I am new to UNIX. I am facing some problem here. #! /usr/bin/ksh currDate = $1 export currDate; echo " Date is $currDate" when I run this script, it says : currDate not found. Can anybody point out the mistake please. --mahek (3 Replies)
Discussion started by: mahek_bedi
3 Replies

4. UNIX for Dummies Questions & Answers

accepting input date

I how do i accept a input date in script which is lesser than a specified day? ex: to accept a date less than or equal to 100 days(from today).?:( Thanks for the help in advance.:) (1 Reply)
Discussion started by: abhi_123
1 Replies

5. Shell Programming and Scripting

reg accepting password

Hi, I want to login to many systems and password should be taken automatically from a file(login is working but password is not accepting). Any help on this is appreciable . My code. for i in `cat /tmp/tes ` ====>tes file contain list of hosts > do ssh $i > perl prog.pl >... (1 Reply)
Discussion started by: rogerben
1 Replies

6. Shell Programming and Scripting

Help with Accepting Directories as an Argument

I'm doing a script where you are suppose to start off in accepting one or more directory as an argument. How do i do this? Sorry for the nub question. (2 Replies)
Discussion started by: LinuxUser232331
2 Replies

7. Shell Programming and Scripting

Accepting Input regardless of Case

Hi I am trying to get my script to accept input regardless if the person enters a or A. here is the portion of the code where I get the input. echo -n 'Please enter your choice:' # prompt user for input. read reply # read input echo case $reply in #... (2 Replies)
Discussion started by: DualPandas
2 Replies

8. Shell Programming and Scripting

accepting passwords in shell programming

how do i accept a password like input through keyboard using shell script? i dont know the command for doing so. (5 Replies)
Discussion started by: kz2013
5 Replies

9. Shell Programming and Scripting

script accepting password

Hi friends, I am very new to Unix scripting and having some difficulty in my first shell script. I have written a simple shell script to upload an artifact to a remote machine on the network. echo "Uploading the artifact" scp app.war username@remotemochine.domainname.net:/home/deployables... (3 Replies)
Discussion started by: prashdeep
3 Replies

10. Shell Programming and Scripting

Parameter not accepting in awk

In below script parameterwhich i am passing to awk function is not working.Not sure why its not accepting parameter.Please tell me how to pass parameter to the awk function.Please check the below script. #!/bin/ksh dummy_file=/etlapps/dev/data/sub_servicer_data/ScriptLogs/emp.txt fields=5... (2 Replies)
Discussion started by: katakamvivek
2 Replies
ndd(1M) 						  System Administration Commands						   ndd(1M)

NAME
ndd - get and set driver configuration parameters SYNOPSIS
ndd [-set] driver parameter [value] DESCRIPTION
ndd gets and sets selected configuration parameters in some kernel drivers. Currently, ndd only supports the drivers that implement the TCP/IP Internet protocol family. Each driver chooses which parameters to make visible using ndd. Since these parameters are usually tightly coupled to the implementation, they are likely to change from release to release. Some parameters may be read-only. If the -set option is omitted, ndd queries the named driver, retrieves the value associated with the specified parameter, and prints it. If the -set option is given, ndd passes value, which must be specified, down to the named driver which assigns it to the named parameter. By convention, drivers that support ndd also support a special read-only parameter named ``?'' which can be used to list the parameters supported by the driver. EXAMPLES
Example 1: Getting Parameters Supported By The TCP Driver To see which parameters are supported by the TCP driver, use the following command: example% ndd /dev/tcp ? The parameter name ``?'' may need to be escaped with a backslash to prevent its being interpreted as a shell meta character. The following command sets the value of the parameter ip_forwarding in the dual stack IP driver to zero. This disables IPv4 packet forward- ing. example% ndd -set /dev/ip ip_forwarding 0 Similarly, in order to disable IPv6 packet forwarding, the value of parameter ip6_forwarding example% ndd -set /dev/ip ip6_forwarding 0 To view the current IPv4 forwarding table, use the following command: example% ndd /dev/ip ipv4_ire_status To view the current IPv6 forwarding table, use the following command: example% ndd /dev/ip ipv6_ire_status ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ SEE ALSO
nca(1), ioctl(2), attributes(5), arp(7P), ip(7P), ip6(7P), tcp(7P), udp(7P) NOTES
The parameters supported by each driver may change from release to release. Like programs that read /dev/kmem, user programs or shell scripts that execute ndd should be prepared for parameter names to change. The ioctl() command that ndd uses to communicate with drivers is likely to change in a future release. User programs should avoid making dependencies on it. The meanings of many ndd parameters make sense only if you understand how the driver is implemented. SunOS 5.10 8 Nov 1999 ndd(1M)
All times are GMT -4. The time now is 03:16 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy