Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Script not executing... command not found

    Scheduled Pinned Locked Moved General pfSense Questions
    12 Posts 4 Posters 2.7k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • stephenw10S
      stephenw10 Netgate Administrator
      last edited by

      Is it actually there? What does ls -ls /root/bin show?

      To run it from the directory you're in you would need to run ./pfatt.sh

      Steve

      1 Reply Last reply Reply Quote 0
      • Z
        zsing82
        last edited by

        It's there, as far as I can tell. Output from ls -ls /root/bin is:

        [2.4.5-RELEASE][root@pfSense.localdomain]/root: ls -ls /root/bin
        total 4
        4 -rwxr-xr-x  1 root  wheel  3157 May 31 11:01 pfatt.sh
        [2.4.5-RELEASE][root@pfSense.localdomain]/root:
        

        And output from ./pfatt.sh is the same as before:

        [2.4.5-RELEASE][root@pfSense.localdomain]/root: cd bin
        [2.4.5-RELEASE][root@pfSense.localdomain]/root/bin: ./pfatt.sh
        ./pfatt.sh: Command not found.
        [2.4.5-RELEASE][root@pfSense.localdomain]/root/bin: chmod +x pfatt.sh
        [2.4.5-RELEASE][root@pfSense.localdomain]/root/bin: ./pfatt.sh
        ./pfatt.sh: Command not found.
        [2.4.5-RELEASE][root@pfSense.localdomain]/root/bin: ls -la
        total 12
        drwxr-xr-x  2 root  wheel   512 May 31 11:01 .
        drwxr-xr-x  3 root  wheel   512 May 31 11:01 ..
        -rwxr-xr-x  1 root  wheel  3157 May 31 11:01 pfatt.sh
        [2.4.5-RELEASE][root@pfSense.localdomain]/root/bin:
        

        When I cat /root/bin/pfatt.sh it outputs the script with my edits, so the file exists. For the life of me, I can't figure out why I can't make it executable (or run with ShellCMD package).
        Sorry if I'm missing something basic. I'm familiar with Windows and a bit of Linux. BSD is a whole different ball-game.

        1 Reply Last reply Reply Quote 0
        • GertjanG
          Gertjan
          last edited by Gertjan

          @zsing82 said in Script not executing... command not found:

          pfatt.sh

          Can you show the first line of this file ?

          What does

          file /root/bin/pfatt.sh
          

          say ?

          When you open / edit the file using Notepad++ (at least) you can confirm it's a
          f61480d5-1b2f-4c4b-8e6a-647a57eb0560-image.png
          file ?

          No "help me" PM's please. Use the forum, the community will thank you.
          Edit : and where are the logs ??

          1 Reply Last reply Reply Quote 0
          • Z
            zsing82
            last edited by

            Here's output from file /root/bin/pfatt.sh

            [2.4.5-RELEASE][root@pfSense.localdomain]/root: file /root/bin/pfatt.sh
            /root/bin/pfatt.sh: POSIX shell script, ASCII text executable, with CRLF line terminators
            [2.4.5-RELEASE][root@pfSense.localdomain]/root:
            

            When I open in Notepad++ (from my Windows workstation) bottom-right of the status bar says "Windows (CR LF) UTF-8"
            script-status-bar.jpg

            JKnottJ GertjanG 2 Replies Last reply Reply Quote 0
            • JKnottJ
              JKnott @zsing82
              last edited by

              @zsing82

              The first line of scripts start with #! /bin/sh. Does yours? Also, I hope you're not using a Windows editor for this. Windows likes to use CR LF for end of line, whereas the *nix apps use just LF.

              PfSense running on Qotom mini PC
              i5 CPU, 4 GB memory, 32 GB SSD & 4 Intel Gb Ethernet ports.
              UniFi AC-Lite access point

              I haven't lost my mind. It's around here...somewhere...

              1 Reply Last reply Reply Quote 0
              • GertjanG
                Gertjan @zsing82
                last edited by

                @zsing82 said in Script not executing... command not found:

                When I open in Notepad++ (from my Windows workstation) bottom-right of the status bar says "Windows (CR LF) UTF-8"

                There you have it : that's a no go.
                Short explanation : FreeBSD is not Windows.
                Little bit longer : file formats ...... as the world is not a happy ASCI place. Ask Google what file encoding is (ASCI, UTF, etc etc) - it's enough to go nuts.

                Convert your file and you'll be fine.

                No "help me" PM's please. Use the forum, the community will thank you.
                Edit : and where are the logs ??

                1 Reply Last reply Reply Quote 2
                • stephenw10S
                  stephenw10 Netgate Administrator
                  last edited by

                  Hmm, curious. I think I would removed the file entirely and then create/edit it in pfSense.

                  Will it run if you call it with sh? sh pfatt.sh

                  If so it's probably not seeing it as something executable. What's in that file?

                  Steve

                  JKnottJ 1 Reply Last reply Reply Quote 0
                  • JKnottJ
                    JKnott @stephenw10
                    last edited by

                    @stephenw10

                    Does your script have that first line I mentioned? It needs it. Also, the file either has to be in the path, or the location specified. If you're in the same directory, then you could use ./<script name>. This is basic Unix stuff.

                    PfSense running on Qotom mini PC
                    i5 CPU, 4 GB memory, 32 GB SSD & 4 Intel Gb Ethernet ports.
                    UniFi AC-Lite access point

                    I haven't lost my mind. It's around here...somewhere...

                    1 Reply Last reply Reply Quote 0
                    • Z
                      zsing82
                      last edited by

                      Thanks to everyone for responding.

                      It ended up being at encoding issue. When I pulled a fresh copy of the script and used EE to edit the file, it executed as expected.

                      Yet another simple issue that I overlooked. Believe it or not, I have quite a few years as a system admin and network admin. But like I said, it was all Windows and couple Debian boxes. BSD is a whole different animal.

                      Thanks again for everyone's help. Hopefully, now I can get that awful AT&T Residential Gateway off to the side.

                      GertjanG JKnottJ 2 Replies Last reply Reply Quote 0
                      • GertjanG
                        Gertjan @zsing82
                        last edited by

                        @zsing82 said in Script not executing... command not found:

                        it was all Windows and couple Debian boxes. BSD is a whole different animal.

                        Debain, and FreeBSD for that matter, are equal in this scenario.

                        (file) Text encoding can be really head scratching if you don't know what it is.
                        Debian has tools to convert, like dos2unix etc.

                        No "help me" PM's please. Use the forum, the community will thank you.
                        Edit : and where are the logs ??

                        1 Reply Last reply Reply Quote 0
                        • JKnottJ
                          JKnott @zsing82
                          last edited by

                          @zsing82 said in Script not executing... command not found:

                          Debian boxes. BSD is a whole different animal

                          Actually, for the most part Linux and BSD are similar, in that they're both Unix variations. However, there are some differences, but nowhere near the difference between either and the Windows shell commands.

                          PfSense running on Qotom mini PC
                          i5 CPU, 4 GB memory, 32 GB SSD & 4 Intel Gb Ethernet ports.
                          UniFi AC-Lite access point

                          I haven't lost my mind. It's around here...somewhere...

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post
                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.