11-22-2005
can't TEST multiple arguments for a file
Hi,
I'm new to scripting and teaching myself how to code. Using Korn, I coded this one return "True" if a file is executable and it's not empty. However, each time I pass a file that is 777 which contains data, the script returns "false".
if [ -x -a ! -s "$1" ]
then
echo "true"
else
echo "false"
fi
By the way..
I was successful using AND when validating strings instead of a file
What am I missing?
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I'm writing a shell script with bash ver 2.05b in linux. My script has a test with 5 arguments like this:
until
do
.....(some codes)
done
but it raise an error:
[: too many arguments
I tried some ways but not ok.
Could you give a way to work around this. Thanks... (4 Replies)
Discussion started by: baton
4 Replies
2. Shell Programming and Scripting
Hello everyone,
I have two types of files in a directory:
*.txt
*.info
I have a perl script that uses these two files as arguments, and produces a result file:
perl myScript.pl abc.txt abc.xml
How can I run this script (in a "for" loop , looping through both types of files)... (4 Replies)
Discussion started by: ad23
4 Replies
3. Shell Programming and Scripting
hi all
i am creating a script to ping hosts and then do a nslookup.
So what needs to happen is that i type the script name with an argument eg:
zong (script name) 172.x.x.x (IP)
at the moment i have got it to take on argument, but idealy i would like it to take more than 1 argument. can you... (1 Reply)
Discussion started by: brian112
1 Replies
4. Shell Programming and Scripting
How do I prevent the message "too many arguments" to appear when using this script?
name="one two three four five six seven"
if test $name=""
then
echo "Empty variable"
else
echo "Value assigned"
fi
output:
bash: test: too many arguments
Value assigned (2 Replies)
Discussion started by: locoroco
2 Replies
5. Shell Programming and Scripting
I have a switch statement, and I want to have two options performing the same thing. For example, if $opt matches "-fb" or "--fbase", I want to perform the same operation. How can I include various matches in "case" ?
switch ($opt)
case "-T":
set Atpath = $par
set opt_tpath =... (8 Replies)
Discussion started by: kristinu
8 Replies
6. UNIX for Dummies Questions & Answers
Hi all ,
I want to pass contents from a file say f1 as arguments to a sql query which has In statement using a script
example
select * from table_1 where login in ( `cat f1`) ;
will this work or is there any other way to do it. (1 Reply)
Discussion started by: zozoo
1 Replies
7. UNIX for Dummies Questions & Answers
Ok hope my vocab is right here, i'm trying to write multiple sets of arguments to another file for example:
I have a script that accepts four arguments and sends them to a another file
$write.sh it then out in
so the file receiver.txt would contain this:
it then out in
what... (2 Replies)
Discussion started by: austing5
2 Replies
8. Shell Programming and Scripting
I am developing a script where 3 other scripts are included.
This is a graph related script.
COMPLETE IDEA:
-There are 3 different graph scripts. I would like to create a master graph with all 3 in one.
-User chooses the type of graph
-User is asked to enter the required auguments (... (7 Replies)
Discussion started by: newkid.7955
7 Replies
9. Shell Programming and Scripting
I am passing 3 runtime arguments to a shell script
$path crtl1 crtl2
the crtl files contains data(filename|date|count)
filename.txt|02/05/2010|10
The path contains the original data file,the code should fetch (filename|date|count) from original data file and it should match... (7 Replies)
Discussion started by: Prashanth B
7 Replies
10. Shell Programming and Scripting
Hi,
I have a problem where i have to hit multiple URL that are stored in a text file (input.txt) and save their output in different text file (output.txt) somewhat like :
cat input.txt
http://192.168.21.20:8080/PPUPS/international?NUmber=917875446856... (3 Replies)
Discussion started by: mukulverma2408
3 Replies
SUBSTR(3) 1 SUBSTR(3)
substr - Return part of a string
SYNOPSIS
string substr (string $string, int $start, [int $length])
DESCRIPTION
Returns the portion of $string specified by the $start and $length parameters.
PARAMETERS
o $string
- The input string. Must be one character or longer.
o $start
- If $start is non-negative, the returned string will start at the $start'th position in $string, counting from zero. For
instance, in the string ' abcdef', the character at position 0 is ' a', the character at position 2 is ' c', and so forth. If
$start is negative, the returned string will start at the $start'th character from the end of $string. If $string is less than or
equal to $start characters long, FALSE will be returned.
Example #1
Using a negative $start
<?php
$rest = substr("abcdef", -1); // returns "f"
$rest = substr("abcdef", -2); // returns "ef"
$rest = substr("abcdef", -3, 1); // returns "d"
?>
o $length
- If $length is given and is positive, the string returned will contain at most $length characters beginning from $start (depend-
ing on the length of $string). If $length is given and is negative, then that many characters will be omitted from the end of
$string (after the start position has been calculated when a $start is negative). If $start denotes the position of this trunca-
tion or beyond, false will be returned. If $length is given and is 0, FALSE or NULL, an empty string will be returned. If
$length is omitted, the substring starting from $start until the end of the string will be returned.
Example #2
Using a negative $length
<?php
$rest = substr("abcdef", 0, -1); // returns "abcde"
$rest = substr("abcdef", 2, -1); // returns "cde"
$rest = substr("abcdef", 4, -4); // returns false
$rest = substr("abcdef", -3, -1); // returns "de"
?>
RETURN VALUES
Returns the extracted part of $string; or FALSE on failure, or an empty string.
CHANGELOG
+--------------+---------------------------------------------------+
| Version | |
| | |
| | Description |
| | |
+--------------+---------------------------------------------------+
|5.2.2 - 5.2.6 | |
| | |
| | If the $start parameter indicates the position |
| | of a negative truncation or beyond, false is |
| | returned. Other versions get the string from |
| | start. |
| | |
+--------------+---------------------------------------------------+
EXAMPLES
Example #3
Basic substr(3) usage
<?php
echo substr('abcdef', 1); // bcdef
echo substr('abcdef', 1, 3); // bcd
echo substr('abcdef', 0, 4); // abcd
echo substr('abcdef', 0, 8); // abcdef
echo substr('abcdef', -1, 1); // f
// Accessing single characters in a string
// can also be achieved using "square brackets"
$string = 'abcdef';
echo $string[0]; // a
echo $string[3]; // d
echo $string[strlen($string)-1]; // f
?>
Example #4
substr(3) casting behaviour
<?php
class apple {
public function __toString() {
return "green";
}
}
echo "1) ".var_export(substr("pear", 0, 2), true).PHP_EOL;
echo "2) ".var_export(substr(54321, 0, 2), true).PHP_EOL;
echo "3) ".var_export(substr(new apple(), 0, 2), true).PHP_EOL;
echo "4) ".var_export(substr(true, 0, 1), true).PHP_EOL;
echo "5) ".var_export(substr(false, 0, 1), true).PHP_EOL;
echo "6) ".var_export(substr("", 0, 1), true).PHP_EOL;
echo "7) ".var_export(substr(1.2e3, 0, 4), true).PHP_EOL;
?>
The above example will output:
1) 'pe'
2) '54'
3) 'gr'
4) '1'
5) false
6) false
7) '1200'
ERRORS
/EXCEPTIONS
Returns FALSE on error.
Example #5
<?php
var_dump(substr('a', 1)); // bool(false)
?>
SEE ALSO
strrchr(3), substr_replace(3), preg_match(3), trim(3), mb_substr(3), wordwrap(3), String access and modification by character.
PHP Documentation Group SUBSTR(3)