Visit Our UNIX and Linux User Community


"for" and "while" loop problem in "sh"


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting "for" and "while" loop problem in "sh"
# 1  
Old 03-15-2010
"for" and "while" loop problem in "sh"

Hi,
I have a problem with "for" and "while" loop in "sh".
I have:
Code:
#!/bin/sh

  for i in $(seq 1 500000); do
    echo $i
  done

and it's working in sh on my ubuntu, but when I try to run this on unix(I have access to my university's unix) it crash:
Code:
syntax error at line 2: `$' unexpected

... second problem with while
Code:
#!/bin/sh

 i=1;
  while [ $i -le 1000000 ]; do 
  echo $i
  i=$(($i+1)); 
done

It's working on ubuntu but not on unix
Code:
syntax error at line 5: `i=$' unexpected

Could anyone help me ?
Thank you for any suggestion
# 2  
Old 03-15-2010
You are probably running a non-standard shell at school. Schools excel at picking oddball teaching environments.

On the school box show the output of:
Code:
grep  yourusername /etc/passwd

OR it could be a bourne shell. Modern shells would reject those commands as you found out. You can try substituting
` ` (those are backticks ) for the $( ) construct.

Last edited by jim mcnamara; 03-15-2010 at 09:22 PM..
# 3  
Old 03-16-2010
grep yourusername /etc/passwd:
Code:
w29185:x:4496:203:MyName:/export/home/w29185:/bin/bash

I tried:
Code:
#!/bin/sh

  for i in `seq 1 500000`; do
    echo $i
  done

... and
Code:
seq: not found

# 4  
Old 03-16-2010
In the first question you need to write the following script
Code:
 
 #!/bin/sh

  for i in `seq 1 10`;
  do
    echo $i
  done

In the second code is working correctly in my system.
# 5  
Old 03-16-2010
seq is an external program which need to be installed on your system.

Code:
i=$(($i+1))

is a POSIX syntax, if your shell don't support it you can try:

Code:
i=`expr $i + 1`

or:
Code:
let i=i+1

# 6  
Old 03-16-2010
Code:
i=`expr $i + 1`

ok thx is't working

And what aboute for in sh if my shell doesn't support seq and I need ex 1000 repetition
# 7  
Old 03-16-2010
Quote:
Originally Posted by Physix
Code:
i=`expr $i + 1`

ok thx is't working

And what aboute for in sh if my shell doesn't support seq and I need ex 1000 repetition
Something like this?
Code:
#!/bin/sh

i=1
while [ $i -le 1000 ]; do 
  echo $i
  let i=i+1
done


Previous Thread | Next Thread
Test Your Knowledge in Computers #980
Difficulty: Easy
Releases of Mac OS X from 1999 to 2005 ran on the Intel-based Macs of that period.
True or False?

9 More Discussions You Might Find Interesting

1. AIX

Apache 2.4 directory cannot display "Last modified" "Size" "Description"

Hi 2 all, i have had AIX 7.2 :/# /usr/IBMAHS/bin/apachectl -v Server version: Apache/2.4.12 (Unix) Server built: May 25 2015 04:58:27 :/#:/# /usr/IBMAHS/bin/apachectl -M Loaded Modules: core_module (static) so_module (static) http_module (static) mpm_worker_module (static) ... (3 Replies)
Discussion started by: penchev
3 Replies

2. 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

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

The slices "usr", "opt", "tmp" disappeared!!! Help please.

The system don't boot. on the screen appears following: press enter to maintenance (or type CTRL-D to continue)...I checked with format command. ... the slices "0-root","1-swap","2-backup" exist. ...the slises "3-var","6-usr" -unassigned. :( (16 Replies)
Discussion started by: wolfgang
16 Replies

5. Shell Programming and Scripting

how to use "cut" or "awk" or "sed" to remove a string

logs: "/home/abc/public_html/index.php" "/home/abc/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" how to use "cut" or "awk" or "sed" to get the following result: abc abc xyz xyz xyz (8 Replies)
Discussion started by: timmywong
8 Replies

6. 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

7. Shell Programming and Scripting

ps -ef | grep "string1" "string2" " "string3"

Hi all, can any one suggest me the script to grep multiple strings from ps -ef pls correct the below script . its not working/ i want to print OK if all the below process are running in my solaris system. else i want to print NOT OK. bash-3.00$ ps -ef | grep blu lscpusr 48 42 ... (11 Replies)
Discussion started by: steve2216
11 Replies

8. Shell Programming and Scripting

cat $como_file | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g'

hi All, cat file_name | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g' Can this be done by using sed or awk alone (4 Replies)
Discussion started by: harshakusam
4 Replies

9. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies

Featured Tech Videos