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
SSS_USERMOD(8)							 SSSD Manual pages						    SSS_USERMOD(8)

NAME
sss_usermod - modify a user account SYNOPSIS
sss_usermod [options] LOGIN DESCRIPTION
sss_usermod modifies the account specified by LOGIN to reflect the changes that are specified on the command line. OPTIONS
-c,--gecos COMMENT Any text string describing the user. Often used as the field for the user's full name. -h,--home HOME_DIR The home directory of the user account. -s,--shell SHELL The user's login shell. -a,--append-group GROUPS Append this user to groups specified by the GROUPS parameter. The GROUPS parameter is a comma separated list of group names. -r,--remove-group GROUPS Remove this user from groups specified by the GROUPS parameter. -l,--lock Lock the user account. The user won't be able to log in. -u,--unlock Unlock the user account. -Z,--selinux-user SELINUX_USER The SELinux user for the user's login. -?,--help Display help message and exit. THE LOCAL DOMAIN
In order to function correctly, a domain with "id_provider=local" must be created and the SSSD must be running. The administrator might want to use the SSSD local users instead of traditional UNIX users in cases where the group nesting (see sss_groupadd(8)) is needed. The local users are also useful for testing and development of the SSSD without having to deploy a full remote server. The sss_user* and sss_group* tools use a local LDB storage to store users and groups. SEE ALSO
sssd(8), sssd.conf(5), sssd-ldap(5), sssd-krb5(5), sssd-simple(5), sssd-ipa(5), sssd-ad(5), sssd-sudo(5),sss_cache(8), sss_debuglevel(8), sss_groupadd(8), sss_groupdel(8), sss_groupshow(8), sss_groupmod(8), sss_useradd(8), sss_userdel(8), sss_usermod(8), sss_obfuscate(8), sss_seed(8), sssd_krb5_locator_plugin(8), sss_ssh_authorizedkeys(8), sss_ssh_knownhostsproxy(8),pam_sss(8). AUTHORS
The SSSD upstream - http://fedorahosted.org/sssd SSSD
06/17/2014 SSS_USERMOD(8)
All times are GMT -4. The time now is 02:41 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy