perl - Perl chdir 以 glob 模式失败
问题描述
我正在尝试在我的 perl 脚本中执行 cd 。我正在使用以下命令:
chdir "/home/test/test1/test2/perl*";
perl*
值实际上是perl_0122_2044
,但这个值可能会有所不同。
上面的chdir
命令cd
对路径没有作用。难道我做错了什么?
解决方案
chdir
不接受*
参数中的和其他扩展字符。使用glob
或类似的东西来提取单个目录,然后chdir
到那个。例如,这会将目录更改为/home/test/test1/test2/perl*
它找到的第一个目录:
$dir = (glob "/home/test/test1/test2/perl*")[0];
# only change dir if any dir was found:
if (-d $dir) {
# fail if cannot change dir (or, even better, use autodie):
chdir $dir or die "Could not change to $dir: $!";
}
推荐阅读
- firebase - Firestore 身份验证控制台中出现的随机用户
- statistics - 具有 BlueSky Statistics 的 ROC 曲线
- javascript - 停止媒体流后如何停止相机指示灯?
- javascript - 使用 React 从表中删除一行的问题
- python - 如何将颜色放入 str.format() 方法字符串中?
- r - 如何使用forcats重新编码多个值而不在R中重复
- python - 如何修复数字海洋 django 应用程序上的“413 请求实体太大”
- python - 你如何在线程中创建一个可共享的对象?
- python - 我们如何解码表情符号,python中的特殊字符?
- firebase - 我们是否会为失败的 Firestore 交易收费