It seems that you are not putting space characters in where they need to be, however, it's hard to tell for sure, since your code is not wrapped in code tags.
You previously had this:
Code:
if [expr $puma ="prod"]
Space it out like this:
Code:
if [ expr $puma = "prod" ]
Please use code tags for this reason.
Also, it looks like you are using the "test" program along with "expr", which won't work. The left bracket character ( [ ) is a sort of alias to "test". Get a manual on test ( man test ) to see how this works. Instead of using both, just use 1 of the programs. So change your first line to either:
Code:
if [ $puma = "prod" ] ; then
or
Code:
if expr $puma = "prod" ; then
Also, expr will print a '1' if true, '0' if false. Use "test" if you don't want the digit to be printed ( or re-direct output ).
Also, since this is a new question, it should probably be a new thread.
Hi All,
When i run the below code :
v_shortfield = ""
if ; then
echo "ravi"
else
echo "kumar"
fi
i am getting output as :
sam.ksh: test: argument expected
kumar
Why i am getting error test:argument expected
and why i am not getting output as "ravi" :confused: (5 Replies)
Hi all,
I am getting "test:argument expected" error in the following script
LOGDIR=$XXAR_TOP/log
PROGRAM_NAME=XXAR_GPS_LBFDMSGEN
..
..
..
Check_Errors()
{
sqllogfile=$1
cd ${LOGDIR}
countfile=${LOGDIR}/${PROGRAM_NAME}.tmp
echo "countfile is " $countfile >> $LOGFILE
echo... (4 Replies)
Can someone help me with a very simple query
I have the following script:
#!/bin/sh
VAR1=""
if
then
VAR1="Message"
fi
echo $VAR1
put when i run it i get the following error
test_job.sh: test: argument expected (5 Replies)
I'm newbie to coding script so i found test: argument expected when i run it. please help me
a=`df -k |awk '{print $5 }'|egrep "(100%|%)"|cut -d"%" -f1|tail -1`
if
then
df -k|egrep "(100%|%)"|awk '{print $1,$5,$6}'
else
echo "No disk capacity more than 80%"
fi
thk in advance (7 Replies)
Hi,
Since i am new to Unix and on suggestion on some smart guys on unix... i have decide to learn more deeply on Unix...so i was kind of playing with if statements and found this error... though i tried to correct is for hours now i couldnt find whats wrong in my loop.
if
then
... (4 Replies)
Hello all,
I am trying to figure out why i am getting an error while executing the script...altought it seems like its work...but still get the test arguement error...any help would be appericiate...this script basically connects to any oracle db ( just have to pass db name to it)... (4 Replies)
Hi All,
I am running the script
VBoxManage list vms |sed 's/"//g' | cut -d " " -f1 > har1out.mytxt
result=`cat har1out.mytxt | grep $1'
echo $result
echo $1
{
if
then
echo pass
else
echo fail
fi (2 Replies)
check_build_info_table()
{
if
then
export build_info_table=`sqlplus -s sna/dbmanager <<!
set pagesize 0 heading off feedback off
SELECT DISTINCT TABLE_NAME FROM ALL_TABLES WHERE OWNER = 'XYZ' AND TABLE_NAME = 'MY_TABLE';
exit
!`
... (3 Replies)
Hi,
I am trying to write a small script that validates if there exist files that start with a pattern in a given directory. Below is the piece of my script:
#!/usr/bin/ksh
BTFDIR=/opt/ships/temp
if
then
echo 'found'
else
echo 'not found'
fi
When I run this... (2 Replies)
The following example prompts are passed into the shell script.
$1 = /tmp/dir/
$2 = varies (test.txt, test1.txt, test2.txt...)
$3 = test_YYYYMMDD.txt
---------------------------------------------------------------------------
#!/bin/sh
cd $1
if ; then
if ; then
... (3 Replies)
Discussion started by: smkremer
3 Replies
LEARN ABOUT REDHAT
for
for(n) Tcl Built-In Commands for(n)
__________________________________________________________________________________________________________________________________________________NAME
for - ``For'' loop
SYNOPSIS
for start test next body
_________________________________________________________________DESCRIPTION
For is a looping command, similar in structure to the C for statement. The start, next, and body arguments must be Tcl command strings,
and test is an expression string. The for command first invokes the Tcl interpreter to execute start. Then it repeatedly evaluates test
as an expression; if the result is non-zero it invokes the Tcl interpreter on body, then invokes the Tcl interpreter on next, then repeats
the loop. The command terminates when test evaluates to 0. If a continue command is invoked within body then any remaining commands in
the current execution of body are skipped; processing continues by invoking the Tcl interpreter on next, then evaluating test, and so on.
If a break command is invoked within body or next, then the for command will return immediately. The operation of break and continue are
similar to the corresponding statements in C. For returns an empty string.
Note: test should almost always be enclosed in braces. If not, variable substitutions will be made before the for command starts execut-
ing, which means that variable changes made by the loop body will not be considered in the expression. This is likely to result in an
infinite loop. If test is enclosed in braces, variable substitutions are delayed until the expression is evaluated (before each loop iter-
ation), so changes in the variables will be visible. For an example, try the following script with and without the braces around $x<10:
for {set x 0} {$x<10} {incr x} {
puts "x is $x"
}
SEE ALSO
break, continue, foreach, while
KEYWORDS
for, iteration, looping
Tcl for(n)