我有一个启动脚本,我想在启动时执行.
我已执行以下命令,使脚本可执行并将其与默认参数一起添加到启动序列中.
sudo chmod 755 /etc/init.d/testsamsudo update-rc.d testsam defaults
在尝试测试脚本时,我执行以下操作:
sudo /etc/init.d/testsam start
但是当这样做时,我收到一个错误:无法执行/etc/init.d/testsam:没有这样的文件或目录.
我把脚本最小化到最基本的,但仍然没有实际原因的线索.我希望有人可以指出我正确的解决方案?这是当前的脚本.
#! /bin/bash# /etc/init.d/testsamcase "$1" in start) #echo "starting script" ;; stop) #echo "stopping script" ;; *) #echo "Usage: /etc/init.d/testsam {start|stop}" exit 1 ;;esacexit 0
谢谢你的帮助
您可能在#的末尾有回车符(^ M)!线.#的格式! line非常严格,除非你的解释器实际上被称为/ bin / bash ^ M,否则不允许回车
在使用适当的unix编辑器创建的文件中永远不会有回车符,除非您不想添加它们.
编辑已使用CRLF行结尾的现有文件时,可能会隐藏回车符.例如,vim就是这样做的.但它也在状态行中说[dos]警告你文件是DOS格式.然后你可以说:set fileformat = unix并保存文件以进行转换.