unix 尝试运行shell脚本时出现错误“:command not found”

lawou6xi  于 7个月前  发布在  Unix
关注(0)|答案(3)|浏览(115)

我有一个脚本,我试图运行,但我只是得到错误“:command not found”每当我试图运行它.这里是我试图做修复它:
1.确保hashbang正确“#!/bin/bash”
1.在文件上运行dos 2unix
1.以scriptname.sh、./scriptname.sh和/bin/bash scriptname.sh的名称运行脚本

  1. scriptname.sh
    我仍然无法运行脚本。任何帮助是非常感谢!
olmpazwi

olmpazwi1#

这是由回车引起的。下面是bash tag wiki的摘录:

*检查您的脚本或数据是否有DOS风格的行尾字符

  • 使用cat -v yourfileecho "$yourvariable" | cat -v

DOS回车将在每行后显示为^M
如果找到它们,请使用dos2unix(也称为fromdos)或tr -d '\r'删除它们
确保检查所有数据,而不仅仅是脚本本身。

j7dteeu8

j7dteeu82#

您可以使用这些来删除不必要的字符:

tr -cd '[:alnum:][:blank:][:punct:]\n' < script.sh > new_script.sh

字符串

tr -cd '[:graph:][:blank:]\n' < script.sh > new_script.sh


然后尝试new_script.sh

xfyts7mz

xfyts7mz3#

确保你没有多余的空格。当我试图给一个变量赋值时就发生了这种情况:a = "test"而不是a="test"

相关问题