0

so I format "colors.sh", which is located on my desktop in a file called notepad. try to run it using:

    ./colors.sh

and then it says this....

    shell@shell:~$ cd Desktop/notepad/
    shell@shell:~/Desktop/notepad$ ll
    total 144
    drwx------  2 shell shell  4096 Apr  9  2015 ./
    drwxr-xr-x 11 shell shell  4096 Jul 27 19:42 ../
    -rw-r--r--  1 shell shell 35551 Oct  7  2014 colors background.PNG
    -rwxr-xr-x  1 shell shell  2534 Apr  9  2015 colors.bat~*
    -rw-r--r--  1 shell shell 31047 Oct  7  2014 colors.PNG
    -rwxr-xr-x  1 shell shell  2475 Apr  9  2015 colors.sh*
    -rwxr-xr-x  1 shell shell  2475 Apr  9  2015 colors.sh~*
    -rw-r--r--  1 shell shell  1142 Aug 22  2013 Command Prompt.lnk
    -rw-r--r--  1 shell shell    84 Nov 21  2014 desktop.ini
    -rwxr-xr-x  1 shell shell    92 Nov 21  2014 hello.bat*
    -rw-r--r--  1 shell shell  3755 Oct 16  2014 netstat.PNG
    -rw-r--r--  1 shell shell  1158 Aug 22  2013 Notepad.lnk
    -rw-r--r--  1 shell shell   970 Nov 18  2014 NSIS.lnk
    -rwxr-xr-x  1 shell shell   504 Nov 21  2014 rainbow.bat*
    -rwxr-xr-x  1 shell shell    31 Nov 21  2014 random.bat*
    -rwxr-xr-x  1 shell shell   561 Oct  7  2014 spanish.bat*
    -rw-r--r--  1 shell shell   687 Oct  6  2014 text to speech.vbs
    -rwxr-xr-x  1 shell shell    50 Oct 12  2014 timer.bat*
    -rw-r--r--  1 shell shell  2060 Feb 13  2013 Turbo C++.lnk
    -rw-r--r--  1 shell shell   182 Sep 23  2014 welcome dif.vbs
    -rw-r--r--  1 shell shell  2472 Sep 22  2014 welcome - Shortcut.lnk
    shell@shell:~/Desktop/notepad$ chmod +x colors.sh
    shell@shell:~/Desktop/notepad$ ./colors.sh
    bash: ./colors.sh: /bin/sh^M: bad interpreter: No such file or directory
Scott Hunter
  • 48,888
  • 12
  • 60
  • 101
Shell
  • 17
  • 4

1 Answers1

2

The ^M in the error message tells all: your text file has been stored as 'DOS' text format, that is with CR+LF line endings. U*x interpreters take a LF (^J) character alone as a line terminator, so the superfluous CR (^M) character got appended to the /bin/sh shell declaration, thus making it invalid.

Save your file with Unix/Linux line endings (LF) or convert it with dos-to-unix converter before use.

CiaPan
  • 9,381
  • 2
  • 21
  • 35