Proses ikame böylece tüm POSIX kabuk bunu desteklemez, POSIX tarafından belirtilmemişse, sadece bazı kabukları gibi bash, zsh, ksh88,ksh93 destek.
In Centossistemine /bin/shkarşı sembolik bağdır /bin/bash. Ne zaman bashadıyla çağrılır sh, bashPOSIX modu (girer Bash Başlatma Dosyaları - sh ismiyle çağrıldığında ). Posix modunda,process substitution desteklenmez, sözdizimi hatasına neden olur.
bashDoğrudan çağırırsanız komut dosyası çalışmalıdır bash test.sh. Değilse, belki bashposix moduna girmiştir. Bu, bağımsız değişken bashile başlatırsanız --posixveya başlatma POSIXLY_CORRECTsırasında değişken ayarlanırsa oluşabilir bash:
$ bash --posix test.sh
test.sh: line 54: syntax error near unexpected token `('
test.sh: line 54: `paste <(printf "%s\n" "TOP")'
$ POSIXLY_CORRECT=1 bash test.sh
test.sh: line 54: syntax error near unexpected token `('
test.sh: line 54: `paste <(printf "%s\n" "TOP")
Veya bashile inşa edilmiştir--enable-strict-posix-default seçeneği .
Burada, işlem değiştirmeye ihtiyacınız yoktur, standart kabuk borularını kullanabilirsiniz:
printf "%s\n" "TOP" | paste -
-pastestdin'den veri okumayı söylemenin standart yoludur . Bazılarıylapaste uygulamalarda, bu standart olmasa da atlayabilirsiniz.
Yararlı olacağı yer, aşağıdaki gibi birden fazla komutun çıktısını yapıştırırken:
paste <(cmd1) <(cmd2)
Destekleyen sistemlerde /dev/fd/n, aşağıdakilerle yapılabilir sh:
{ cmd1 4<&- | { cmd2 3<&- | paste /dev/fd/3 -; } 3<&0 <&4 4<&-; } 4<&0
( <(...)dahili olarak ne yapar).
dashYerinebash).