bash - 在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
解决方案
正如 jeb 在他的评论中已经解释的那样,如果您用${...something...}
bash 编写,则...something...必须是变量名,可选地后跟一些参数替换(如 bash 手册页中的PARAMETERS部分所述。在您的情况下,${
和之间写}
的不是变量名,因此出现错误。
你可能想要类似的东西
for entry in ~/Library/MobileDevice/Provisioning\ Profiles/*
推荐阅读
- rust - 如何转换 Rc
到 Rust 中的字符串 - r - 用第二个数据框中的值替换一个数据帧中的 NA 值
- matlab - 遗传算法的入门实现
- javascript - 在不重新运行“gatsby-develop”的情况下将内容更改同步到 localhost gatsby build
- sql - PostgreSQL:删除 3 个表上 LEFT OUTER JOIN 的重复项
- c# - 使用 if 语句控制 C# 中的按钮启用属性
- javascript - 远程服务器上的 HTML 页面无法加载
- mysql - postgresql:是否可以将表从 db1 重命名为 db2?
- haskell - 对“冲突的家庭实例声明”感到困惑
- django - Django 阻止数据传入 URL