У меня есть этот скрипт (просто скопировать и вставить его в оболочку)оболочки с «-bash: плохая замена: без закрывающей`) '»
perl -c <(cat <<'EOF'
#!/usr/bin/perl
while(@mylist>1){
if($i > $initnum) {$i--;}
{splice(@mylist,1);}
}
EOF
)
На одной машине Linux, я получил /dev/fd/63 syntax OK
вывод, который это нормально. Но на терминале macbook я видел это
$ perl -c <(cat <<'EOF'
> #!/usr/bin/perl
> while(@mylist>1){
> if($i > $initnum) {$i--;}
> {splice(@mylist,1);}
> }
> EOF
>)
-bash: bad substitution: no closing `)' in <(cat <<'EOF'
#!/usr/bin/perl
while(@mylist>1){
if($i > $initnum) {$i--;}
splice(@mylist
}
EOF
)
Мой вопрос, почему такая ошибка. И в идеале, как исправить это на mac.
'bash --version' на каждой машине, пожалуйста. – bishop
Появляется ошибка парсера; ошибка возникает в версии 3.2, но не в 4.3. – chepner
В mac-версии есть 'GNU bash, версия 3.2.51 (1) -release (x86_64-apple-darwin13)', на linux есть 'GNU bash, версия 4.2.25 (1) -release (x86_64-pc-linux- gnu) ' –