shell zsh中的参数串联排除了某些字母

gcmastyq  于 2023-06-30  发布在  Shell
关注(0)|答案(1)|浏览(106)

我在Arch Linux上使用zsh。我已经启用了setopt extendedglobsetopt sh_word_split。我有以下脚本:

#!/bin/sh

old_IFS="$IFS"
IFS='|'

files_to_exclude="$*"

IFS=old_IFS

cmd="rm -f -- ./^("
cmd+=$files_to_exclude
cmd+=")"

echo $cmd

当提供给此脚本的参数包含以下任何一项时:dloFIS,则它们不会打印到控制台。为什么会这样?我如何强制zsh打印它们?
以下是我测试的内容:

./script_name a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I
J K L M N O P Q R S T U V W X Y Z 1 2 3 4 5 6 7 8 9 0
wj8zmpe1

wj8zmpe11#

有个打印错误

- IFS=old_IFS
+ IFS=$old_IFS

相关问题