line 1: ?echo: command not found
在Linux中新建test.sh,然后在里面如下如下:
echo 'qqqq'
echo 'wwww'
执行脚本后 sh test.sh 结果如下两行,
test.sh: line 1: ?echo: command not found
wwww
发现echo第一行都执行报错 不知道大拿们有没有遇到此问题,谢谢大家;
------解决方案--------------------#! /bin/bash 第一行
------解决方案--------------------
#! 表示用哪个程序来解释该文件的内容,一般写在第一行
shell脚本,第一行写 #!/bin/sh或者#!/bin/bash等,
类似的还有perl脚本用#!/bin/perl等
------解决方案--------------------你是用sh test.sh来执行的,照理说第一行的加不加就没有意义了,因为你已经指定了用sh来执行。
你加上那句之后就可以了吗?
------解决方案--------------------如果你的test.sh是从windows系统里面复制到linux里面的,执行这个命令先:
dos2unix test.sh
------解决方案-------------------- 加上这个还不行吗 如果还不行,怀疑你的环境变量中间PATH部分没有引那些bin路径了。4楼讲的用sh执行不用加这个,还不大明白 公司Linux服务器今天连不上 郁闷
------解决方案--------------------
你这个又变成一个新的错误了。
你的pc上没有dos2unix这个命令,需要安装这个命令。
对于Ubuntu 10.04和更高版本,dos2unix命令已经由fromdos命令代替
------解决方案--------------------你可以先这样试试:
echo "echo 'qqqq'" > test_new.sh
echo "echo 'wwww'" >> test_new.sh
sh test_new.sh
------解决方案--------------------你可以先这样试试:
echo "echo 'qqqq'" > test_new.sh
echo "echo 'wwww'" >> test_new.sh
sh test_new.sh
大牛能讲下其中原理么 跟直接vi输入的有什么区别
------解决方案--------------------
你可以先这样试试:
echo "echo 'qqqq'" > test_new.sh
echo "echo 'wwww'" >> test_new.sh
sh test_new.sh
大牛能讲下其中原理么 跟直接vi输入的有什么区别
如果你是在vi里面一个字母一个字母输入的,应该也没问题。
可能你是用复制粘贴的,就可能引入“换行”符导致的问题
我在网上搜索了一下,你可以看看这个网页