蓝桥春水 2018-12-14 09:04 采纳率: 0%
浏览 2878

shell怎么将文件路径赋值给一个变量?

想将lib文件夹下的jar包的路径赋值给变量FLUME_JARS,用:号隔开,在第六行报错
没有那个文件或目录
实际上该文件存在。
求大神指教。

FLUME_HOME=$(cd $(dirname $0)/..; pwd)
    FLUME_HOME_LIB=$(cd $FLUME_HOME/lib/; pwd)
    FLUME_JARS=
    for JARNAME in $FLUME_HOME_LIB/*; do
        if [ -z $FLUME_JARS ]; then
            $FLUME_JARS=$JARNAME
        else
            $FLUME_JARS="${FLUME_JARS}:${$JARNAME}"
        fi  
    done
  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-07 10:38
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    # 读取当前工作目录的绝对路径
    FLUME_HOME=$(pwd)
    
    # 获取lib文件夹中的所有jar包的路径,并拼接成一个字符串
    FLUME_JARS=()
    
    for JARNAME in "$FLUME_HOME"/lib/*.jar; do
        # 如果是jar包,则添加到结果数组中
        if [[ -f $JARNAME ]]; then
            FLUME_JARS+=("$JARNAME")
        fi
    done
    
    echo "FLUME_JARS: ${FLUME_JARS[@]}"
    
    评论

报告相同问题?