gpt4 book ai didi

linux - bash if 语句预期的一元运算符

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:55:31 26 4
gpt4 key购买 nike

我正在尝试按照

if (!regular file || symbolic link)
continue

我目前的情况是

st1=$( -f "${ARRAY[$i]}" )                                                 
if [ "$st1" -eq 0 ]

但我收到“预期的一元运算符错误”

最佳答案

您不需要创建中间 st1 变量。只需使用:

if [[ ! -f "${ARRAY[$i]}" || -h "${ARRAY[$i]}" ]]; then
echo "${ARRAY[$i]} link exists"
fi

您对 st1=$( -f "${ARRAY[$i]}") 的使用不正确,会导致语法错误:

-f: command not found

因为 shell 会将 f 视为命令名称。

关于linux - bash if 语句预期的一元运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26424101/

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