Support us and view this ad

可选:点击以支持我们的网站

免费文章

脚本包含 Windows 格式的回车换行符(\r\n),而在 Linux 中应该使用 Unix 格式的换行符(\n)。这导致 bash 将 \r 解释为命令的一部分而报错。 ./mmiot_ecdsa_sign.sh: line 2: $'\r': command not found./mmiot_ecdsa_sign.sh: line 4: $'\r': command not found./mmiot_ecdsa_sign.sh: line 5: syntax error near unexpected token `$'\r'''/mmiot_ecdsa_sign.sh: line 5: `function CheckStop()  修复方法1:直接转换文件格式 # 使用 sed 命令去除 \r 字符sudo sed -i 's/\r//' ./mmiot_ecdsa_sign.sh # 或者使用 dos2unix 工具(如果已安装)sudo dos2unix ./mmiot_ecdsa_sign.sh 修改后执行成功: sudo bash ./mmiot_ecdsa_sign.sh gen_ecdsa_key prikey_filepath pubkey_filepathgen_ecdsa_key succ prikey_path:prikey_filepath pubkey_path:pubkey_filepath   方法2:修改脚本为正确的 Unix 格式 这是修复后的脚本内容,已经去除了 Windows 格式的行尾符: #!/bin/sh time_stamp=`date +%s` function CheckStop(){if [ $? -ne 0 ]; thenecho "execute fail, error on line_no:"$1" exit!!!"exitfi} function GenEcdsaKey(){ec_param_file_path="/tmp/ec_param.pem....

继续阅读完整内容

支持我们的网站,请点击查看下方广告

正在加载广告...

登陆