Nawet jeśli nie jest to możliwe z normalnego process substitution, zsh zapewnia special kind of process substitution-like behavior, który pozwala na „plik”, aby działać jak bardziej rzeczywistego niż tradycyjne pliku substytucji procesowej robi (poprzez stworzenie rzeczywistej plik tymczasowy):
% ghc -o Main -x hs =(echo 'main = print 1')
[1 of 1] Compiling Main (/tmp/zshjlS99o, /tmp/zshjlS99o.o)
Linking Main ...
% ./Main
1
%
Opcja -x hs
informuje, że ghc
zachowuje się tak, jakby nazwa pliku podana na końcu w .hs
.
Ogólnie jest to skrót do ręcznego tworzenia i usuwania pliku tymczasowego.
Nie jestem pewien, czy istnieją inne powłoki, które obsługują tego typu rzeczy. Nie sądzę, żeby przynajmniej tak było.
Działa z runghc, ale to nie utworzy pliku wykonywalnego. – melpomene
Co właściwie próbujesz osiągnąć? Aby uruchomić jakiś fragment kodu Haskella lub faktycznie skompilować go w samodzielny plik binarny? W zależności od tego, czego szukasz, mogą istnieć prostsze sposoby niż ręczne wywoływanie pliku binarnego GHC. – MathematicalOrchid