阿布布 发表于 2023-2-28 19:53:52

小萌新求教

#!/bin/bash

read -p "input two number " val1 val2
num = `expr $val1 + $val2`
echo $num




为什么会报这样的错误:
gawk: 致命错误: 无法以读模式打开文件“=”(没有那个文件或目录)

阿布布 发表于 2023-2-28 19:54:34

是不是什么配置没有做啊

阿布布 发表于 2023-2-28 19:55:42

阿布布 发表于 2023-2-28 19:54
是不是什么配置没有做啊

不是报程序未找到就是报这个错误

dolly_yos2 发表于 2023-2-28 20:01:59

本帖最后由 dolly_yos2 于 2023-2-28 20:43 编辑

首先,赋值变量等号两边不应该有空格
其次,`` 是过时的方式,用 $() 替代
最后,expr 也是值得避免的方式,可以用 $(()) 代替
一些参考:#!/bin/bash

read -rp "input two number " val1 val2
num=$((val1+val2))
echo "$num"

isdkz 发表于 2023-2-28 20:05:02

本帖最后由 isdkz 于 2023-2-28 20:07 编辑

=两边不能有空格,因为空格在 linux 命令中用来隔开命令、选项和参数

#!/bin/bash

read -p "input two number " val1 val2
num=`expr $val1 + $val2`
echo $num

rth 发表于 2023-3-2 14:42:27

num = `expr $val1 + $val2`
这个等号两边不能有空格

tengke 发表于 2023-4-19 17:38:28

# cat 2.sh

#!/bin/bash

read -p "input two number " val1 val2
num=`expr $val1 + $val2`
echo $num


# sh 2.sh
input two number 2 4
6
# ^C
#
看起来没有问题 是不是你弄错文件了 或者没有权限

成不换 发表于 2023-5-3 14:25:11

是不是你有给相应的用户权限{:10_256:}

琅琊王朝 发表于 2023-7-30 21:56:48

#!/bin/bash
read -p "input two number " val1 val2
num=`expr $val1 + $val2`
echo $num

正确的如上所示
页: [1]
查看完整版本: 小萌新求教