Sponsored Content
Top Forums Shell Programming and Scripting PHP: declared variables, strlen vs isset Post 302976537 by crimso on Thursday 30th of June 2016 11:59:24 AM
Old 06-30-2016
PHP: declared variables, strlen vs isset

greetings,

pretty new to php and i think i might be missing some fundamental limitation of isset. i have two php scripts below that are executed by crond, one using --host X and one that does not. and below that are three different attempts at generating a command line that will be executed. the first example using strlen works as expected. please see bottom of thread for the command line that is generated for each php script respectively. when i came across isset it seemed to make more sense to use that instead, especially the third example. HOWEVER, both isset examples fail when $server is the value for -host. as you might guess -host is $host, --server is $server and --path is $path. is this an issue of having $server twice on the same line when using isset? i've been tinkering with this off and on for a few days and i'm stumped. i need not be spoon fed but some plain speak on what i might be misunderstanding would be great, thanks.

Code:
grid_lmx_capture_test.php --server=t70aic100 --host=denasv004 --path=/opt/IBM/lmx/bin --port=6200
grid_lmx_capture_test.php --server=t70aic100 --path=/opt/IBM/lmx/bin --port=6200

Code:
if (strlen($host)) {
        $command2  = "ssh -o ConnectTimeout=60 $server \"cd $path ; " . (strlen($path) ? $path . "/": "") . "lmxendutil -licstat -port $port -host $host 2> /dev/null\"";
}elseif (!strlen($host)) {
        $command2  = "ssh -o ConnectTimeout=60 $server \"cd $path ; " . (strlen($path) ? $path . "/": "") . "lmxendutil -licstat -port $port -host $server 2> /dev/null\"";
}


if (isset($host)) {
        $command2  = "ssh -o ConnectTimeout=60 $server \"cd $path ; " . (strlen($path) ? $path . "/": "") . "lmxendutil -licstat -port $port -host $host 2> /dev/null\"";
}elseif (!isset($host)) {
        $command2  = "ssh -o ConnectTimeout=60 $server \"cd $path ; " . (strlen($path) ? $path . "/": "") . "lmxendutil -licstat -port $port -host $server 2> /dev/null\"";
}


if (isset($host)) {
        $command2  = "ssh -o ConnectTimeout=60 $server \"cd $path ; " . (strlen($path) ? $path . "/": "") . "lmxendutil -licstat -port $port -host $host 2> /dev/null\"";
}else{
        $command2  = "ssh -o ConnectTimeout=60 $server \"cd $path ; " . (strlen($path) ? $path . "/": "") . "lmxendutil -licstat -port $port -host $server 2> /dev/null\"";
}

when using strlen example:
Code:
ssh -o ConnectTimeout=20 t70aic100 "cd /opt/IBM/lmx/bin ; /opt/IBM/lmx/bin/lmxendutil -licstat -port 6200 -host denasv004 2> /dev/null"
ssh -o ConnectTimeout=20 t70aic100 "cd /opt/IBM/lmx/bin ; /opt/IBM/lmx/bin/lmxendutil -licstat -port 6200 -host t70aic100 2> /dev/null"

when using either isset example:
Code:
ssh -o ConnectTimeout=20 t70aic100 "cd /opt/IBM/lmx/bin ; /opt/IBM/lmx/bin/lmxendutil -licstat -port 6200 -host denasv004 2> /dev/null"
ssh -o ConnectTimeout=20 t70aic100 "cd /opt/IBM/lmx/bin ; /opt/IBM/lmx/bin/lmxendutil -licstat -port 6200 -host  2> /dev/null"


Last edited by crimso; 06-30-2016 at 03:06 PM..
 

10 More Discussions You Might Find Interesting

1. Programming

Problems with Strlen

hello, i have a problem with strlen. I have written this: for(y=13,z=0; cInBuf!=' ';y++) { cBuf=cInBuf; z++; } len = strlen(cBuf); out=len/2; fprintf(outfile,"F%i",out); If strlen is e.g. 22, it write F22. I want to write F2F2. How can i do this?... (5 Replies)
Discussion started by: ACeD
5 Replies

2. Shell Programming and Scripting

Problem with the strlen function in ksh

Hello, Just a little problem with the ksh function : strlen I want to use this function in this little ksh program : while read line ; do TOTO=$line TOTONB=strlen($TOTO) echo $TOTONB (3 Replies)
Discussion started by: steiner
3 Replies

3. Shell Programming and Scripting

accessing variables declared in another perl script

Hi all, I have a perl script which declares two variables and calls another perl script which accesses those variables. But I am unable to access the variables in the called script. My script is as follows: my $ENV{a}="20"; system("perl called.pl"); and my called.pl contains: print... (3 Replies)
Discussion started by: gurukottur
3 Replies

4. Programming

'strlen' of a constant string

In a declaration, I have: const char comment_begin = "<!--"; const char comment_end = "-->"; const int comment_begin_len = strlen(comment_begin); const int comment_end_len = strlen(comment_end); When I compile, I get the warnings: emhttpc.c:64: warning: initializer element is not... (10 Replies)
Discussion started by: cleopard
10 Replies

5. Programming

pointer arithmetic vs. strlen() & strnlen()?

I have been getting some flack recently for my use of strlen() and strnlen(). Honestly I have always just taken their functionality for granted as being the easiest way of getting the length of a string. Is it really so much better to do pointer arithmetic? What am I gaining besides more... (3 Replies)
Discussion started by: jjinno
3 Replies

6. Shell Programming and Scripting

isset() PHP function in cgi bash scripts

Hi! Some minutes ago I've posted a question related with sed regexps because I need to catch information sended with forms with GET action. This is the post: https://www.unix.com/shell-programming-scripting/127800-regular-expression-sed.html But now I have a new question. Does cgi scripts have... (0 Replies)
Discussion started by: GagleKas
0 Replies

7. Programming

strlen for UTF-8

My OS (Debian) and gcc use the UTF-8 locale. This code says that the char size is 1 byte but the size of 'a' is really 4 bytes. int main(void) { setlocale(LC_ALL, "en_US.UTF-8"); printf("Char size: %i\nSize of char 'a': %i\nSize of Euro sign '€': %i\nLength of Euro sign: %i\n",... (8 Replies)
Discussion started by: cyler
8 Replies

8. AIX

`pthread_rwlock_t' was not declared in this scope

Hello All, I am getting this error while compiling my application on IBM AIX 5.3. As I tried to define _XOPEN_SOURCE=500 in makefile, that didn't work. Please help us to resolve the error. (0 Replies)
Discussion started by: mustus
0 Replies

9. Shell Programming and Scripting

Help in separating variables declared in the main function

Hi! I've a C program as shown below.. The line numbers and the statements of the program are separated by a space.. 1 #include<stdio.h> 2 char a,b,c; 3 float x,y,z; 4 int main() 5 { 6 int d,e,f; 7 // further declarations 8 // further declarations 9 /* body*/ 10 } 11 void fun1() 12... (1 Reply)
Discussion started by: abk07
1 Replies

10. Programming

Segment fault related to strlen.S

Hello, This function was copied into my code, which was compiled without error/warning, but when executed there is always Segmentation fault at the end after the output (which seems correct!): void get_hashes(unsigned int hash, unsigned char *in) { unsigned char *str = in; int pos =... (7 Replies)
Discussion started by: yifangt
7 Replies
All times are GMT -4. The time now is 10:12 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy