linux ubuntu 执行自己写的shell脚本报错 not found | server 运维论坛-大发黄金版app下载
脚本
自己写了一个nodejs 爬虫,现在想定时爬取目标。所以写了一个shell 进行循环爬虫。

报错提示
: not found:
not found: clear
not found: }
not found:
not found:
not found1: clear_screen
错误分析
问题可能不是函数位置的问题,而是 shell 解释器的问题。让我们尝试以下大发黄金版app下载的解决方案:
- 首先,确保文件是 unix 格式的 - dos2unix run.sh
- 修改脚本的第一行,明确指定使用 bash - #!/usr/bin/env bash
- 使用 bash 命令执行脚本 - bash run.sh- 或 - bash -x run.sh # 这会显示详细的调试信息
- 检查文件权限 - chmod x run.sh
- 如果还是有问题,我们可以简化一下代码,去掉函数调用,直接使用命令: 
#!/usr/bin/env bash
# 显示介绍信息
show_introduction() {
    clear  # 直接使用 clear 命令而不是函数调用
    echo "================================================"
    echo "               自动化执行管理脚本                "
    echo "================================================"
    echo "作者: bug"
    echo "版本: 1.0.1"
    echo "更新日期: $(date  %y-%m-%d)"
    echo "------------------------------------------------"
    echo "功能说明:"
    echo "- 支持单个命令执行"
    echo "- 支持循环执行所有命令"
    echo "- 自动记录执行日志"
    echo "- 支持管理员权限检查"
    echo "- 杀死 node 进程"
    echo "- 实时监控 cpu 和内存使用情况"
    echo "------------------------------------------------"
    read -p "按回车键继续..." 
}
# 其他函数保持不变...
# 主菜单
show_menu() {
    clear  # 直接使用 clear 命令
    echo "================================================"
    echo "                    主菜单                       "
    echo "================================================"
    # ... 其余代码保持不变
}
# 主程序
main() {
    # 检查权限
    check_sudo
    # 显示介绍
    show_introduction
    # ... 其余代码保持不变
}
# 执行主程序
main请尝试使用以下命令执行脚本:
bash run.sh如果还是报错,请将错误信息完整地贴出来,留言评论,这样我可以更好地帮你定位问题。同时,也告诉我你使用的是什么操作系统和 shell 版本:
echo $shell
bash --version这些信息会帮助我们更准确地找出问题所在。
总结,最后使用
使用以下命令基本解决问题
apt install dos2unix  安装dos2unix 工具
dos2unix run.sh 转换格式
输入 执行指令即可
bash -x run.sh
本作品采用《cc 协议》,转载必须注明作者和本文链接
                                
                                
                                    嗨,我是波波。曾经创业,有收获也有损失。我积累了丰富教学与编程经验,期待和你互动和进步!
公众号:上海php自学中心
                                
                            
                        
                    