我编写了一个linux命令,它在命令行中完美运行:
/bin/netstat -an | grep '3306' | sed 's/.*/[MYSQLMON]&/' > /home/bbWifiExt/logs/WIFIMonitor.log
然而,当我将此代码复制到.sh并运行.sh文件时,我得到了:
没有这样的文件或目录
谁能告诉我为什么?非常感谢。
答案 0 :(得分:3)
您必须将其称为
sh mycommand.sh
或使您的shell脚本可执行。插入#! /bin/sh
或#! /bin/bash
作为第一行和
chmod +x mycommand.sh
之前打电话
mycommand.sh
答案 1 :(得分:0)
如果脚本的第一行类似
#!/bin/sh
和执行位设置,即
chmod +x script.sh
答案 2 :(得分:0)
对于我的情况(从windows重命名并复制文件到linux)解决方案是:
dos2unix script.sh