首页 > 解决方案 > 在shell脚本中获取目录中的文件列表?

问题描述

这是我编写的脚本,只有“FOR LOOP”不起作用 -
出现此错误 - 请建议我如何进一步进行。
/var/folders/g9/bgcqz8jn4b7gm47k95f15lvm0000gp/T/jenkins5094260696780533763.sh:第 21 行:${~/Library/MobileDevice/Provisioning\ Profiles/}*:错误替换构建步骤“执行外壳”将构建标记为失败

#!/bin/bash

. ~/.profile
xcode9

security find-identity -p codesigning -v

#ls '/Users/airwatch/Library/MobileDevice/Provisioning Profiles/'

ls ~/Library/MobileDevice/Provisioning\ Profiles/

output=$(ls ~/Library/MobileDevice/Provisioning\ Profiles/ | wc -l)
echo "Total provisioning profiles :" $output

#cat ~/Library/MobileDevice/Provisioning\ Profiles/Accenture_Fit_Distribution.mobileprovision


for entry in "${~/Library/MobileDevice/Provisioning\ Profiles/}*"
do
  echo "$entry"
done

标签: bashshellfor-loop

解决方案


正如 jeb 在他的评论中已经解释的那样,如果您用${...something...}bash 编写,则...something...必须是变量名,可选地后跟一些参数替换(如 bash 手册页中的PARAMETERS部分所述。在您的情况下,${和之间写}的不是变量名,因此出现错误。

你可能想要类似的东西

for entry in ~/Library/MobileDevice/Provisioning\ Profiles/*

推荐阅读