Solaris "read -e"


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Solaris "read -e"
# 1  
Old 04-01-2009
Solaris "read -e"

Hi,

Why does this piece of script work on a Solaris 10 test.sh script but if I include it in the request script of packaging generates errors?

Code:
        
until [ -n "$CONFIGCACHE" ] && [ -n "$prompt" ] && [ -z `echo $CONFIGCACHE | /usr/xpg4/bin/sed -e 's/[YN]//g' ` ]
        do
                echo -n "Do you want to configure Cache Manager? [Y/N] "
                read -e -n 1 CONFIGCACHE
                echo ""
                prompt=1
        done

In the request script it stops at read -e:
-n Do you want to configure Cache Manager? [Y/N]
/var/tmp//installe5aOBQ/checkinstallh5aOBQ: -e: is not an identifier
pkgadd: ERROR: request script did not complete successfully


If I replace "read -e -n 1" with simple read I get
/var/tmp//install0UaOMQ/checkinstall3UaOMQ: test: argument expected
pkgadd: ERROR: request script did not complete successfully


Thanks,
Bianca

Last edited by potro; 04-01-2009 at 10:47 AM..
# 2  
Old 04-01-2009

That must be run by bash.

It's a horrible piece of code that would be better written, also for bash, as:

Code:
printf "Do you want to configure Cache Manager? [Y/N] "
while :
do
  read -sn1  CONFIGCACHE
  case $CONFIGCACHE in
    [YNyn]) break ;;
  esac
done
echo

# 3  
Old 04-02-2009
For this I get

Do you want to configure Cache Manager? [Y/N] /var/tmp//installltaiLW/checkinstallotaiLW: -sn1: is not an identifier
pkgadd: ERROR: request script did not complete successfully

Why don't the read parameters work properly ? I have same with read -e , read -n 1, etc.

Quote:
Originally Posted by cfajohnson

That must be run by bash.

It's a horrible piece of code that would be better written, also for bash, as:

Code:
printf "Do you want to configure Cache Manager? [Y/N] "
while :
do
  read -sn1  CONFIGCACHE
  case $CONFIGCACHE in
    [YNyn]) break ;;
  esac
done
echo

# 4  
Old 04-02-2009
Quote:
Originally Posted by potro
Why don't the read parameters work properly ? I have same with read -e , read -n 1, etc.

You must run it with bash; no other shell will work for that code.
# 5  
Old 04-02-2009
I set #!/bin/bash in the scripts.

In a separate script it works .. and in the request script doesn't work that's why is so frustrating.

Quote:
Originally Posted by cfajohnson

You must run it with bash; no other shell will work for that code.
# 6  
Old 04-02-2009
Quote:
Originally Posted by potro
I set #!/bin/bash in the scripts.

In a separate script it works .. and in the request script doesn't work that's why is so frustrating.

What command line do you use to run it?

And please post the entire script that contains it.

And post the output of:

Code:
/bin/bash --version

# 7  
Old 04-02-2009
Hi

bash-3.00# /bin/bash --version
GNU bash, version 3.00.16(1)-release (sparc-sun-solaris2.10)
Copyright (C) 2004 Free Software Foundation, Inc.
bash-3.00# /usr/bin/bash --version
GNU bash, version 3.00.16(1)-release (sparc-sun-solaris2.10)
Copyright (C) 2004 Free Software Foundation, Inc.

In the scripts I use #!/bin/bash

The request script I use in the package is pretty long. I refer only to this section as it is not related to nothing before.

So if I run it separate it works.

If I run it in the request script:
1. I have to delete read parameters -e -n 1 as they generate errors
2. Then I get
/var/tmp//install59a41W/checkinstall89a41W: test: argument expected
pkgadd: ERROR: request script did not complete successfully



bash-3.00# cat test.sh
#!/bin/bash

until [ -n "$CONFIGCACHE" ] && [ -n "$prompt" ] && [ -z `echo $CONFIGCACHE | sed -e 's/[YN]//g' ` ]
do
echo -n "Do you want to configure Cache Manager? [Y/N] "
read -e -n 1 CONFIGCACHE
echo ""
prompt=1
done

bash-3.00# ./test.sh
Do you want to configure Cache Manager? [Y/N] Y

bash-3.00#

Thanks,
Bianca
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

2. Shell Programming and Scripting

Failure: if grep "$Var" "$line" inside while read line loop

Hi everybody, I am new at Unix/Bourne shell scripting and with my youngest experiences, I will not become very old with it :o My code: #!/bin/sh set -e set -u export IFS= optl="Optl" LOCSTORCLI="/opt/lsi/storcli/storcli" ($LOCSTORCLI /c0 /vall show | grep RAID | cut -d " "... (5 Replies)
Discussion started by: Subsonic66
5 Replies

3. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

4. Solaris

Printer configuration Migration from Solaris 10 "LP" to Solaris 11 "CUPS"

Need to find a way to import an LP printers.conf file to CUPS. I have some new Solaris 11.1 boxes that need to have 300 printers added. (0 Replies)
Discussion started by: os2mac
0 Replies

5. Shell Programming and Scripting

Read from "list1" and list matches in "list2"

I want to print any matching IP addresse in List1 with List 2; List 1 List of IP addresses; 161.85.58.210 250.57.15.129 217.23.162.249 74.76.129.101 30.221.177.237 3.147.200.59 170.58.142.64 127.65.109.33 150.167.242.146 223.3.20.186 25.181.180.99 2.55.199.32 (3 Replies)
Discussion started by: lewk
3 Replies

6. Shell Programming and Scripting

Purpose of "read" and "$END$" in ksh ?

Hi, Could anyone please shed some light on the following script lines and what is it doing as it was written by an ex-administrator? cat $AMS/version|read a b verno d DBVer=$(/usr/bin/printf "%7s" $verno) I checked that the cat $AMS/version command returns following output: ... (10 Replies)
Discussion started by: dbadmin100
10 Replies

7. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

8. Solaris

Solaris escape my script from "-" to "/226"

Hello everyone. I beg your guys pardon please. I try to ls -al in many path/directories. So, I put the code in text file which look like below; ls -al / ls -al /etc ls -al /etc/default ... however, when I paste it to Solaris over SecureCRT, it seems the code was escaped from "-" to... (0 Replies)
Discussion started by: Smith
0 Replies

9. Shell Programming and Scripting

read -p "prompt text" foo say "read: bad option(s)" in Bourne-Shell

Hallo, i need a Prompting read in my script: read -p "Enter your command: " command But i always get this Error: -p: is not an identifier When I run these in c-shell i get this error /usr/bin/read: read: bad option(s) How can I use a Prompt in the read command? (9 Replies)
Discussion started by: wiseguy
9 Replies

10. Shell Programming and Scripting

how to request a "read" or "delivered" receipt for mails

Dears, I've written a script which allows me to send mails in different formats with different attaches. Now I still want to add a feature to this script. My users would like to be able to receive a "read" or "delivered" receipt for their mails. The script send mails on behalve of an specific... (1 Reply)
Discussion started by: plelie2
1 Replies
Login or Register to Ask a Question