Sponsored Content
Top Forums Shell Programming and Scripting Problem with looping construct Post 302087920 by blowtorch on Thursday 7th of September 2006 07:01:49 AM
Old 09-07-2006
Ok, you have a couple of misunderstandings there.

1. You are trying to define HTTPD variable as a command, but you are using the ` (backtick) character to do that. Using backticks actually causes the command to execute and the results to be returned and (in this case) stored in the HTTPD variable. Use the ' (single quote) character to do what you want.
2. You want to run the command line contained under the HTTPD variable (forget that you aren't getting the command line for a moment), but you are using ${} instead of $(). The $() is used to fork a subshell and execute processes. ${} is used to address shell variables.

By the way, I tried writing and running the script the way you want to, but it is giving me an error.
Code:
# cat test.sh
#!/usr/bin/bash

HTTPD='/usr/ucb/ps -axcu | /usr/bin/grep httpd > /dev/null; echo $?'
while [ $($HTTPD) -eq 0 ]; do
        echo "running"; sleep 10; 
done
# bash -x test.sh
+ HTTPD=/usr/ucb/ps -axcu | /usr/bin/grep httpd > /dev/null; echo $?
++ /usr/ucb/ps -axcu '|' /usr/bin/grep httpd '>' '/dev/null;' echo '$?'
ps: too many arguments
usage: ps [ -aceglnrSuUvwx ] [ -t term ] [ num ]
+ '[' -eq 0 ']'
test.sh: [: -eq: unary operator expected

I don't understand what the shell is passing as arguments to the ps command in this case. I tried escaping the |, the > and the $ in $?, but that didn't work. Maybe someone else would like to have a go.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Awk: looping problem!

I am having a problem with awk when I run it with a loop. It works perfectly when I echo a single line from the commandline. For example: echo 'MFG009 9153852832' | awk '$2 ~ /^0-9]$/{print $2}' The Awk command above will print field 2 if field 2 matches 10 digits, but when I run the loop... (5 Replies)
Discussion started by: cstovall
5 Replies

2. Shell Programming and Scripting

ksh construct

Hi Guys, could someone tell me what this ksh construct does typeset -r PROG_PWD=${0%/*} does I understand the -r for readonly but I would very much appreciate a definitive account of what this will set $PROG_PWD to. If I run this at the cmd line it it gets set to /usr/bin but I would... (2 Replies)
Discussion started by: ajcannon
2 Replies

3. Shell Programming and Scripting

Problem with looping the directories

Hi all, I have a directory which has many sub-directories. Now, I want to check the space of each dir and redirect the output in a file if space exceeds the limit. I have already done it, but the way I did is not very good. I just listed the directories and awked the last column to get the... (5 Replies)
Discussion started by: naw_deepak
5 Replies

4. Shell Programming and Scripting

if-else construct not working

Hi all, Sorry to ask this easy question but I am stuck. In a scenario i am executing one shell script which contains a if - else construct : if ; then echo $line $line >> successful_build.txt else $line >> failed_services.txt fi explaination : if the... (5 Replies)
Discussion started by: bhaskar_m
5 Replies

5. Solaris

SVM Solaris 8 Problem. Metastat output looping

Hi friends, I'm newbie to SVM. Just wanna try installed it on one of our server (to do mirroring for disk0 and disk1) but i think im lost until now. :( the steps i've taken is as below:- 1.prtvtoc /dev/rdsk/c1t0d0s2 | fmthard -s - /dev/rdsk/c1t1d0s2 2.metadb -a -c 3 -f c1t0d0s7... (3 Replies)
Discussion started by: kronenose
3 Replies

6. Shell Programming and Scripting

Help with if-else construct

Hi all i have been trying to do a small 'question and answer' script using if-else statement and a combination of pipe. I have succeeded in allowing the user to login with user name and password stored in a sequence username/password in a file named "pass" like this: echo "please enter your... (14 Replies)
Discussion started by: arikutex
14 Replies

7. Shell Programming and Scripting

looping problem

I have been trying to come up with a program that can do this: Say I have a file named "sir" with a single field; 10 229 288 35 83 47 3 I want to create a file "gen" with three fields with the data in file "sire" listed in field 1 while field 2 and 3 are just 1 each like this: SPARSE... (1 Reply)
Discussion started by: iconig
1 Replies

8. Shell Programming and Scripting

perl: problem in looping! how to get rid

Hi i just want to open 2 files and find difference between cond1 and cond2 and if the difference is greater than or equal to some number say 2 print the lines again in 2 different files. file 1 (1.txt) aqw dfr 34 poilo ggg 98 file 2 (2.txt) qww asd 28 poilo ggg 97 open FILE1,"1.txt" or... (2 Replies)
Discussion started by: anurupa777
2 Replies

9. Shell Programming and Scripting

Problem with Looping

Hi, guys, What I want is exactly shown below (I modified the former image and it looks like clearer.) https://lh6.googleusercontent.com/-EG8SKkrWEvc/Ube9e-jDiHI/AAAAAAAAAOM/hFNT0UqQPWE/s512/Linux_Study_20130611_001.jpg And with some guys' help, I made it. My script is below: #!/bin/bash #... (20 Replies)
Discussion started by: franksunnn
20 Replies

10. Shell Programming and Scripting

Looping problem

I need help. I am trying to get this script to send out only one email not multiple emails of the abend. Currently it will send me one then and ther with the first and second one then another email with the first second and third abend and so on. I only want one email sent. ... (2 Replies)
Discussion started by: bbcarosi
2 Replies
grass-mysql(1grass)						Grass User's Manual					       grass-mysql(1grass)

NAME
grass-mysql - MySQL driver MySQL driver MySQL driver in GRASS MySQL database driver in GRASS enables GRASS to store vector attributes in MySQL server. Because vector attribute tables are created automaticaly when a new vector is written and the name of the table is the same as the name of the vector it is good practice to create a new database for each GRASS mapset. Creating a MySQL database A new database is created within MySQL: mysql> CREATE DATABASE mydb; See the MySQL manual for details. Driver and database name GRASS modules require 2 parameters to connect to a database. Those parameters are 'driver' and 'database'. For MySQL driver the parameter 'driver' should be set to value 'mysql'. The parameter 'database' can be given in two formats: Database name - in case of connection from localhost String of comma separated list of kye=value options. Supported options are: dbname - database name host - host name or IP address port - server port number Examples of connection parameters: db.connect driver=mysql database=mytest db.connect driver=mysql database='dbname=mytest,host=test.grass.org' Data types GRASS supports almost all MySQL data types with following limitations: Binary columns (BINARY, VARBINARY, TINYBLOB, MEDIUMBLOB, BLOB, LONGBLOB) are not not supported. If a table with binary col- umn(s) is used in GRASS a warning is printed and only the supported columns are returned in query results. Columns of type SET and ENUM are represented as string (VARCHAR). Very large integers in columns of type BIGINT can be lost or corrupted because GRASS does not support 64 bin integeres on most platforms. GRASS does not currently distinguish types TIMESTAMP and DATETIME. Both types are in GRASS interpreted as TIMESTAMP. Indexes GRASS modules automaticaly create index on key column of vector attributes table. The index on key column is important for performance of modules which update the attribute table, for example v.to.db, v.distance and v.what.rast. Privileges Because MySQL does not support groups of users and because only MySQL 'root' can grant privileges to other users GRASS cannot automaticaly grant select privileges on created tables to group of users. If you want to give privilege to read data from your mapset to other users you have to ask your MySQL server administrator to grant select privilege to them on the MySQL database used for that mapset. For example, to allow everybody to read data in from your database 'mydb': shell> mysql --user=root mysql mysql> GRANT SELECT ON mydb.* TO ''@'%'; Schemas Because MySQL does not support database schemas the parameter 'schema' of module db.connect should never be set to any value. If you set that parameter for MySQL driver GRASS will try to write tables to the specified schema which will result in errors. Groups MySQL does not support user groups. Any settings specified by 'group' parameter of module db.connect are ignored by GRASS for MySQL driver. SEE ALSO
db.connect, SQL support in GRASS GIS Credits Development of the driver was sponsored by Faunalia (Italy) as part of a project for ATAC. AUTHOR
Radim Blazek Last changed: $Date: 2011-02-07 18:59:50 +0100 (Mon, 07 Feb 2011) $ Help Index GRASS 6.4.2 grass-mysql(1grass)
All times are GMT -4. The time now is 05:31 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy