PDA

View Full Version : Quick scripting question



YouEatLard
01-27-2011, 10:29 AM
Hey,
I'm trying to setup Knoppix on USB with a few servers running on boot. I've googled the hell out of this and have found many ways of doing it, but only Knoppix.sh seems like it has a chance of working. At this point I think I must be asking the wrong questions. :confused:

At any rate my knoppix.sh has the following code:

/etc/init.d/ssh start
/etc/init.d/webmin start
/etc/init.d/mysql start
/etc/init.d/apache2 start

The output is:

Usage: /etc/init.d/ssh {start|stop|reload|force-reload|restart|try-restart|status}.
Usage: /etc/init.d/webmin { start | stop | restart }
Usage: /UNIONFS/etc/init.d/mysql start|stop|restart|reload|force-reload|status
Usage: /etc/init.d/apache2 {start|stop|graceful-stop|restart|reload|force-reload|start-htcacheclean|stop-htcacheclean|status}.

Why is it not seeing the 'start' at the end?

Thanks,
--Yel

klaus2008
01-27-2011, 10:27 PM
I can't see any error in your /mnt-system/KNOPPIX/knoppix.sh. I tried this myself with /etc/init.d/ssh start and everything worked fine. How did you create that file? What version of Knoppix do you use?

However I would place all services I like to start during boot in the file /etc/rc.local.

YouEatLard
01-28-2011, 04:59 AM
SOLVED

I created knoppix.sh with notepad in Windows. This caused hidden characters to be generated.


Was your script created or edited with a DOS text editor?

Check these and compare the results:

file <your_script>
cat <your_script>
cat -A <your_script>


It's all done with vi.

The results from above:



# file knoppix.sh
knoppix.sh: Bourne-Again shell script text executable

# cat knoppix.sh
#!/bin/bash
/etc/init.d/ssh start
/etc/init.d/webmin start
/etc/init.d/mysql start
/etc/init.d/apache2 start

# cat -A knoppix.sh
#!/bin/bash^M$
/etc/init.d/ssh start^M$
/etc/init.d/webmin start^M$
/etc/init.d/mysql start^M$
/etc/init.d/apache2 start^M$
^M$



Yep, you've got a script with DOS newlines (see http://en.wikipedia.org/wiki/CRLF).

That's why all those ^M's show up when you `cat -A`.
vi doesn't create these files by default but if you open one
for editing, vi will go with the flow.

Strip out the extraneous Carriage Returns (0x0d) like this:

mv knoppix.sh knoppix.sh.CRLF
cat knoppix.sh.CRLF | tr -d '\r' > knoppix.sh

YouEatLard
01-28-2011, 05:19 AM
I can't see any error in your /mnt-system/KNOPPIX/knoppix.sh. I tried this myself with /etc/init.d/ssh start and everything worked fine. How did you create that file? What version of Knoppix do you use?

However I would place all services I like to start during boot in the file /etc/rc.local.

I'm using Knoppix 6.4.3 on flashdrive with a persistent image. I'd love to do it the "correct" way, but have had issues getting it to work.
Tried init-rc.d, webmin, and 3 other ways, but none of them worked even if the text I added persisted through the reboot. I'm obviously missing something here, but I don't know what. For now, it works.
However, I don't remember if I added the lines to rc.local. Not sure how I missed that. Thanks for the info. I'll need it soon enough.