Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

sh: line 1: ,: command not found

by bh_perl (Monk)
on Dec 06, 2010 at 03:45 UTC ( [id://875542]=perlquestion: print w/replies, xml ) Need Help??

bh_perl has asked for the wisdom of the Perl Monks concerning the following question:


hi..

After i execute my program "./sendsms", its complaint "sh: line 1: , : command not found". Why but the program look running ?

My code my belo:-
#!/usr/bin/perl -w use warnings; use strict; use POSIX qw(floor); my $data; while (1) { if (-e "/cygdrive/c/Inetpub/ftproot/sms.txt") { system("/cygdrive/c/CLISMS.exe /port=1 /ussd=*122#"); my $credit = qx(cat /cygdrive/c/Log.txt |grep \"Baki\" |tail - +1 |cut -d, -f1); $credit =~ s/Baki: //g; my $val = $credit; $credit = floor($credit + 0.5); if ($credit < 10) { system("/cygdrive/c/CLISMS.exe /port=1 /to=0133034931 /msg=[SM +S Gateway] URGENT!! Current prepaid credit is RM$val, Please reload") +; #system("/cygdrive/c/CLISMS.exe /port=1 /to=0193301010 /msg=[S +MS Gateway] URGENT!! Current prepaid credit is RM$val, Please reload" +); } open (TEXT, "/cygdrive/c/Inetpub/ftproot/sms.txt"); while ($data = <TEXT>) { chomp($data); my ($num,$msg) = split(/;/, $data); system("/cygdrive/c/CLISMS.exe /port=1 /to=$num /msg=RM0, +Your e-statement password is $msg"); sleep 60 if $. % 10 == 0; } close (TEXT); system ("rm /cygdrive/c/Inetpub/ftproot/sms.txt"); } sleep 5; }

Replies are listed 'Best First'.
Re: sh: line 1: ,: command not found
by cdarke (Prior) on Dec 06, 2010 at 09:25 UTC
    I can't reproduce this, it might depend on the versions, but bash sometimes has problems with exclamation marks! It uses them for command recall (similar to c-shell). A lot of systems use a symbolic link to bash to fake a Bourne shell (sh). Try without the !!

    Update: corrected typo - thanks Corion
Re: sh: line 1: ,: command not found
by Anonymous Monk on Dec 06, 2010 at 03:50 UTC
    So for your machine ./sendsms means sh ./sendsms, then sh looks at the shebang and goes looking for /usr/bin/perl but fails to find it
Re: sh: line 1: ,: command not found
by perl_lover (Chaplain) on Dec 06, 2010 at 03:54 UTC
    Did you check whether you have /cygdrive/c/CLISMS.exe in the system where you are running this?. Also try printing the exit status of system command. That will give you a clue.

    use Perl;
    Perl4Everything

      hi

      The warning message was not display after i removed the $var variable. Its looks something wrong with the variable. The changes as below:-
      system("/cygdrive/c/CLISMS.exe /port=1 /ussd=*122#"); my $credit = qx(cat /cygdrive/c/Log.txt |grep \"Baki\" |tail -1 |cut - +d, -f1); $credit =~ s/Baki: //g; $credit = floor($credit + 0.5); if ($credit < 10) { system("/cygdrive/c/CLISMS.exe /port=1 /to=0133034931 /msg=[SMS Ga +teway] URGENT!! Current prepaid credit is RM$credit.00, Please reload +"); #system("/cygdrive/c/CLISMS.exe /port=1 /to=0193301010 /msg=[SMS G +ateway] URGENT!! Current prepaid credit is RM$cedit.00, Please reload +"); }
        /cygdrive/c/CLISMS.exe /port=1 /to=0133034931 /msg=[SMS Gateway] URGEN +T!! Current prepaid credit is RM$credit.00, Please reload
        should surely be
        /cygdrive/c/CLISMS.exe /port=1 /to=0133034931 /msg='[SMS Gateway] URGE +NT!! Current prepaid credit is RM$credit.00, Please reload'

        What you have would have failed at the prompt too. Some of the characters you meant to pass as part of an argument apparently have a special meaning when you use them as part of a shell command.

        I think command shell is trying to execute the value what you are passing to /cygdrive/c/CLISMS.exe. I think adding single quote around $val will help.

        use Perl;
        Perl4Everything

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://875542]
Approved by ww
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (1)
As of 2024-04-19 00:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found