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