开发者社区> 问答> 正文

linux求助!SHELL报错 let: not found?报错

环境:Debian(Wheezy)

test.sh文件内容是:

#!/bin/bash
num1=4;
num2=5;
let result=num1+num2;
echo $result;

$SHELL 变量echo出来是:/bin/bash

执行sh test.sh结果是:

test.sh: 4: test.sh: let: not found

咋回事呢?


展开
收起
爱吃鱼的程序员 2020-06-22 22:24:16 646 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    我以前也遇到过,我把dash卸载了。安装bash你在玩raspberrypi?网上买的?
    命令未找到把PATH环境变量设为let所在文件夹路径,exportPATH=PATH:新添加的路径先在你自己的命令行里运行let看看行不行,不行说明你这就不支持let为什么连let都不支持啊直接./test.sh运行,或者bashtest.sh,sh和bash是不同的说没有let命令,执行不下去了

    你当前登录用户用的不是bash,是dash吧。可以在终端下输入chsh命令查看一下当前登录的shell类型。

    确实是dash和bash的问题,deb系列默认的sh是dash,如果我没猜错,你for循环也不能用,楼上的所有的建议都可行,我个人建议,直接做个软连接,sudoln-sf/bin/bash/bin/sh<divclass="ref">

    引用来自“gnefil.nil”的答案

    <divclass=ref_body>直接./test.sh运行,或者bashtest.sh,sh和bash是不同的yes,change"#!/bin/sh"to"#!/bin/bash",itworks!!!

    2020-06-22 22:24:33
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 技术揭秘 立即下载
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载