Now what!?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • notbob

    Now what!?

    Grrr....

    I'm following A Byte of Python and into the while loops chap. I cp/paste
    while.py to a file and give 777 perms. I mv while.py to while and run it (./while)
    as a standalone script. I get errors.

    Here is the script:

    while.py




    When I run it as.....

    $ python while

    ......it works perfect. But, if I run it simply as.....

    $ ./while

    ......I get this:

    $ ./while
    number: illegal number: =
    ../while: line 6: running: command not found
    ../while: line 9: syntax error near unexpected token ('
    ../while: line 9: guess = int(raw_input(' Enter an integer : '))'

    Why does it work one way and not the other. If I run the simple hello world
    script the same way ($ ./helloworld) and it works fine. Same shebang, same
    dir, same permission, etc. I even meticulously indented everything
    perfectly by hand. What am I missing?

    BTW, anyone know a better cli news client/editor combo than slrn/jed (don't
    even think vi!)? When I cp/past code (or most anything else) to jed, all
    the lines become stair-stepped. This is no biggie for a most stuff, but for
    idented code, it's unacceptable.

    nb

  • Diez B. Roggisch

    #2
    Re: Now what!?

    notbob schrieb:
    Grrr....
    >
    I'm following A Byte of Python and into the while loops chap. I cp/paste
    while.py to a file and give 777 perms. I mv while.py to while and run it (./while)
    as a standalone script. I get errors.
    >
    Here is the script:
    >
    while.py
    >

    >
    >
    When I run it as.....
    >
    $ python while
    >
    .....it works perfect. But, if I run it simply as.....
    >
    $ ./while
    >
    .....I get this:
    >
    $ ./while
    number: illegal number: =
    ./while: line 6: running: command not found
    ./while: line 9: syntax error near unexpected token ('
    ./while: line 9: guess = int(raw_input(' Enter an integer : '))'
    >
    Why does it work one way and not the other. If I run the simple hello world
    script the same way ($ ./helloworld) and it works fine. Same shebang, same
    dir, same permission, etc. I even meticulously indented everything
    perfectly by hand. What am I missing?
    I'm pretty sure you misse the correct shebang - the shell tries to
    execute your script as shell-script, instead of invoking the interpreter.

    Diez

    Comment

    • Matias Surdi

      #3
      Re: Now what!?

      Diez B. Roggisch escribió:
      notbob schrieb:
      >Grrr....
      >>
      >I'm following A Byte of Python and into the while loops chap. I cp/paste
      >while.py to a file and give 777 perms. I mv while.py to while and run
      >it (./while)
      >as a standalone script. I get errors.
      >>
      >Here is the script:
      >>
      >while.py
      >>
      >http://www.ibiblio.org/swaroopch/byt...statement.html
      >>
      >>
      >When I run it as.....
      >>
      >$ python while
      >>
      >.....it works perfect. But, if I run it simply as.....
      >>
      >$ ./while
      >>
      >.....I get this:
      >>
      >$ ./while
      >number: illegal number: =
      >./while: line 6: running: command not found
      >./while: line 9: syntax error near unexpected token ('
      >./while: line 9: guess = int(raw_input(' Enter an integer : '))'
      >>
      >Why does it work one way and not the other. If I run the simple hello
      >world
      >script the same way ($ ./helloworld) and it works fine. Same shebang,
      >same
      >dir, same permission, etc. I even meticulously indented everything
      >perfectly by hand. What am I missing?
      >
      I'm pretty sure you misse the correct shebang - the shell tries to
      execute your script as shell-script, instead of invoking the interpreter.
      >
      Diez
      --

      >
      Add #!/path/to/bin/python on the first line of your script.

      Also should work with:
      #!/usr/bin/env python


      Comment

      • notbob

        #4
        Re: Now what!?

        On 2008-05-10, Diez B. Roggisch <deets@nospam.w eb.dewrote:
        notbob schrieb:
        >script the same way ($ ./helloworld) and it works fine. Same shebang, same
        >dir, same permission, etc.
        >
        I'm pretty sure you misse the correct shebang -
        Sorry. Both exactly the same. I checked 5 times.

        helloworld shebang: #!/usr/bin/python
        while shebang: #!/usr/bin/python

        (above yanked from respective scripts)

        nb

        Comment

        • Ivan Illarionov

          #5
          Re: Now what!?

          On 10 ÍÁÊ, 21:22, notbob <not...@nothome .comwrote:
          On 2008-05-10, Diez B. Roggisch <de...@nospam.w eb.dewrote:
          >
          notbob schrieb:
          script the same way ($ ./helloworld) and it works fine. Same shebang, same
          dir, same permission, etc.
          >
          I'm pretty sure you misse the correct shebang -
          >
          Sorry. Both exactly the same. I checked 5 times.
          >
          helloworld shebang: #!/usr/bin/python
          while shebang: #!/usr/bin/python
          >
          (above yanked from respective scripts)
          >
          nb
          Shebang is certainly broken, possible causes:
          1. Wrong line endings (should be \n)
          2. Whitespace before the shebang

          -- Ivan

          Comment

          • notbob

            #6
            Re: Now what!?

            On 2008-05-10, Ivan Illarionov <ivan.illariono v@gmail.comwrot e:
            Shebang is certainly broken, possible causes:
            1. Wrong line endings (should be \n)
            Nope. Not it.
            2. Whitespace before the shebang
            BINGO! ....we have a winner. ;)

            I thought for sure that was not correct. No white space before the
            sheba.... Wait a minute! Howzabout a blank line above the shebang? D0H!!

            These are the minute details that bedevil the poor noob. I've read dozens
            of tutorials on different prog langs and have never read a single thing on
            white space or blank lines preceding a shebang. Till now. I always get
            frustrated and give up on learning programming, not really caring much for
            coding, anyway. But, dammit, I'm gonna stick with it this time. I'll learn
            python if it kills me! ....that is, if you folks can stand all my dumb
            questinons. ;)

            Thank you, Ivan, and other repondents.

            nb ....back to while loops

            Comment

            • notbob

              #7
              Re: Now what!?

              On 2008-05-10, notbob <notbob@nothome .comwrote:
              BTW, anyone know a better cli news client/editor combo than slrn/jed (don't
              even think vi!)? When I cp/past code (or most anything else) to jed, all
              the lines become stair-stepped. This is no biggie for a most stuff, but for
              idented code, it's unacceptable.
              Whoo-hoo! I just got emacs config'd to do python. Let's see how that works.

              nb

              Comment

              • Grant Edwards

                #8
                Re: Now what!?

                On 2008-05-10, Dennis Lee Bieber <wlfraed@ix.net com.comwrote:
                >These are the minute details that bedevil the poor noob. I've
                >read dozens of tutorials on different prog langs and have
                >never read a single thing on white space or blank lines
                >preceding a shebang. Till now. I always get
                >
                Well... The "shebang" line is OS and shell specific
                The "#!" is sort of a holdover from the "magic number" used
                back in the day on Unix systems. Traditionally, the type of an
                executable file on Unix systems was determined by a "magic
                number" that was read from the first two bytes of a file:

                http://en.wikipedia.org/wiki/Magic_number_(programming)

                Back then there was a text file somewhere that listed the
                various 16-bit values and what they meant. The "file" program
                used that list to guess what a file was. It's gotten
                considerably more complex since then, and the "magic" file has
                syntax to specify fairly large/complex patterns that are used
                to determine file types. If you're curious, there's probably a
                "magic" file somewhere on your system. On Gentoo it's at
                /usr/share/misc/file/magic,

                On a Linux system (and I presume on other Unixes), the kernel
                itself (if built with the proper options) knows know how start
                a "script" file that starts with the characters "#!". When the
                kernel is told to execute a file whose first two bytes are "#!"
                (0x32,0x21), it knows to read the newline terminated path of an
                executable starting at the byte following the "!" (the third
                byte in the file). The kernel then executes that file,
                appending the name of the original "script" file to the argv
                list.

                --
                Grant Edwards grante Yow! My mind is making
                at ashtrays in Dayton ...
                visi.com

                Comment

                • notbob

                  #9
                  Re: Now what!?

                  On 2008-05-10, Dennis Lee Bieber <wlfraed@ix.net com.comwrote:
                  So... in short, you'd need to have been reading a tutorial specific
                  to "shell" scripting...
                  I have been. I'm also trying to learn bash shell scripting, not to mention
                  sed/awk, php, etc. I should have started this a long time ago, but I'm lazy
                  and, like I said, I'm not particularly fond of coding. Yes, I have learned
                  basic C and basic , but never beyond intro. Now, I'm doing it because I'm a
                  geezer and I figure my brain needs more exercise then just blabbing on
                  usenet. Besides, I've been cruising while using linux for too long and have
                  remained low end intermediate. Time to get serious. Pass the cheat sheets!

                  nb


                  Comment

                  • hdante

                    #10
                    Re: Now what!?

                    On May 10, 8:22 pm, notbob <not...@nothome .comwrote:
                    On 2008-05-10, Dennis Lee Bieber <wlfr...@ix.net com.comwrote:
                    >
                       So... in short, you'd need to have been reading a tutorial specific
                    to "shell" scripting...
                    >
                    I have been.  I'm also trying to learn bash shell scripting, not to mention
                    sed/awk, php, etc.  I should have started this a long time ago, but I'm lazy
                    Throw all of this away and learn just python. That will be much
                    simpler for you.
                    and, like I said, I'm not particularly fond of coding.  Yes, I have learned
                    basic C and basic , but never beyond intro.  Now, I'm doing it because I'm a
                    Forget basic and learn python. Later you can learn C.
                    geezer and I figure my brain needs more exercise then just blabbing on
                    usenet.  Besides, I've been cruising while using linux for too long and have
                    remained low end intermediate.  Time to get serious.  Pass the cheat sheets!
                    >
                    nb

                    Comment

                    • notbob

                      #11
                      Re: Now what!?

                      On 2008-05-11, Dennis Lee Bieber <wlfraed@ix.net com.comwrote:
                      on the Amiga, it could be any of those applications).
                      ahhh.... the Amiga, the demise of which was one of the great calamaties of
                      our cyber time. (sniff)

                      nb

                      Comment

                      • castironpi@gmail.com

                        #12
                        Re: Now what!?

                        On May 10, 10:05 pm, hdante <hda...@gmail.c omwrote:
                        On May 10, 8:22 pm, notbob <not...@nothome .comwrote:
                        >
                        On 2008-05-10, Dennis Lee Bieber <wlfr...@ix.net com.comwrote:
                        >
                           So... in short, you'd need to have been reading a tutorial specific
                        to "shell" scripting...
                        >
                        I have been.  I'm also trying to learn bash shell scripting, not to mention
                        sed/awk, php, etc.  I should have started this a long time ago, but I'm lazy
                        >
                         Throw all of this away and learn just python. That will be much
                        simpler for you.
                        >
                        and, like I said, I'm not particularly fond of coding.  Yes, I have learned
                        basic C and basic , but never beyond intro.  Now, I'm doing it becauseI'm a
                        >
                         Forget basic and learn python. Later you can learn C.
                        Fiscally speaking, C and Python may well be just as economical. So
                        long as you've spent time learning a computer language, hold you can
                        get your needs met*.

                        * Even if money isn't a measure of value, a true measure of value, or
                        measure of true value.

                        In light of the actual writing of Python, if you make it, like to.

                        In sight of competitors, argue that Python is at least a locus, node,
                        nodepoint, or to-central of something about free and software.

                        Hold that Python is an end in itself, and/or that writing it is, and/
                        or is writing an implementation.

                        (Can you talk about languages like they're people?)

                        Distinguish further between languages, programs, libraries, and the
                        standards.

                        Then evaluate Python for population assortment characteristics , such
                        as population, overcrowding, undercrowding, and various sense
                        criteria.

                        In the Windows world, we are asking, how many keystrokes per thought,
                        mouse motions per error, and cross.

                        If your boss sucks but Python rules, it remains unclear that either is
                        any better. It is not clear that Python has a will, or computers
                        have.

                        If they have minds, whether absent will or not, perhaps it wouldn't
                        pay to like it too much. What diversity can you find on a newsgroup?


                        >
                        >
                        >
                        geezer and I figure my brain needs more exercise then just blabbing on
                        usenet.  Besides, I've been cruising while using linux for too long and have
                        remained low end intermediate.  Time to get serious.  Pass the cheatsheets!
                        >
                        nb- Hide quoted text -
                        >
                        - Show quoted text -

                        Comment

                        • Rilindo Foster

                          #13
                          Re: Now what!?

                          I don't know the context of the discussion, since I just joined the
                          list, but:


                          On May 10, 2008, at 11:05 PM, hdante wrote:
                          On May 10, 8:22 pm, notbob <not...@nothome .comwrote:
                          >On 2008-05-10, Dennis Lee Bieber <wlfr...@ix.net com.comwrote:
                          >>
                          >> So... in short, you'd need to have been reading a tutorial
                          >>specific
                          >>to "shell" scripting...
                          >>
                          >I have been. I'm also trying to learn bash shell scripting, not to
                          >mention
                          >sed/awk, php, etc. I should have started this a long time ago, but
                          >I'm lazy
                          >
                          Throw all of this away and learn just python. That will be much
                          simpler for you.
                          Ummm, if you are working with Unix and Unix-like systems, you should
                          know shell scripting. Work through that first and then when you find
                          that you can't get things done with a shell script, go with Python (or
                          failing that, Perl :) ).

                          - Rilindo

                          Comment

                          • Marco Mariani

                            #14
                            Re: Now what!?

                            notbob wrote:
                            frustrated and give up on learning programming, not really caring much for
                            coding, anyway. But, dammit, I'm gonna stick with it this time. I'll learn
                            python if it kills me!
                            No, it won't kill you but make you stronger ;)

                            Comment

                            Working...