gpt4 book ai didi

bash - 使用 “let”分配Bash失败,使用 “/”

转载 作者:行者123 更新时间:2023-12-03 08:05:49 26 4
gpt4 key购买 nike

我正在使用GNU bash,版本5.0.3(1)-发行版(x86_64-pc-linux-gnu),我想知道为什么简单的赋值语句会出现语法错误:

#/bin/bash

var1=/tmp # This works
let var2=/tmp # This fails with syntax error: Operand expected (error is "/tmp")

有人知道为什么吗?谢谢

最佳答案

let是一个内置的shell,它是在bash中使用$((..)) Arithmetic Expansion的另一种方法。那作业

let var2=/tmp 

被shell视为商值不正确的算术运算“除”。等同于做。
var=$((/tmp))

由于操作数的数量不正确,因此解析器抛出了您所看到的错误。请注意,shell仍在可变上下文中处理 tmp。如果解析器将表达式标识为有效,则 tmp将进行变量扩展。由于之前未设置,因此可能会引发“零除”错误。

对于简单的变量分配,只需删除 let关键字,然后将值字段括在“引号”中
var2="/tmp"

关于bash - 使用 “let”分配Bash失败,使用 “/”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61610520/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com