"𝒎𝒊𝒏𝒊𝒔𝒉𝒆𝒍𝒍" 𝒊𝒔 𝒂 𝒑𝒓𝒐𝒋𝒆𝒄𝒕 𝒕𝒉𝒂𝒕 𝒊𝒏𝒗𝒐𝒍𝒗𝒆𝒔 𝒄𝒓𝒆𝒂𝒕𝒊𝒏𝒈 𝒂 𝒔𝒊𝒎𝒑𝒍𝒆 𝒔𝒉𝒆𝒍𝒍, 𝒘𝒉𝒊𝒄𝒉 𝒊𝒔 𝒂 𝒑𝒓𝒐𝒈𝒓𝒂𝒎 𝒕𝒉𝒂𝒕 𝒑𝒓𝒐𝒗𝒊𝒅𝒆𝒔 𝒂 𝒄𝒐𝒎𝒎𝒂𝒏𝒅-𝒍𝒊𝒏𝒆 𝒊𝒏𝒕𝒆𝒓𝒇𝒂𝒄𝒆 𝒇𝒐𝒓 𝒖𝒔𝒆𝒓𝒔 𝒕𝒐 𝒊𝒏𝒕𝒆𝒓𝒂𝒄𝒕 𝒘𝒊𝒕𝒉 𝒂 𝒄𝒐𝒎𝒑𝒖𝒕𝒆𝒓'𝒔 𝒐𝒑𝒆𝒓𝒂𝒕𝒊𝒏𝒈 𝒔𝒚𝒔𝒕𝒆𝒎. 𝑻𝒉𝒆 𝒑𝒓𝒐𝒋𝒆𝒄𝒕 𝒂𝒊𝒎𝒔 𝒕𝒐 𝒈𝒊𝒗𝒆 𝒅𝒆𝒗𝒆𝒍𝒐𝒑𝒆𝒓𝒔 𝒂 𝒃𝒆𝒕𝒕𝒆𝒓 𝒖𝒏𝒅𝒆𝒓𝒔𝒕𝒂𝒏𝒅𝒊𝒏𝒈 𝒐𝒇 𝒉𝒐𝒘 𝒔𝒉𝒆𝒍𝒍𝒔 𝒘𝒐𝒓𝒌 𝒃𝒚 𝒂𝒍𝒍𝒐𝒘𝒊𝒏𝒈 𝒕𝒉𝒆𝒎 𝒕𝒐 𝒊𝒎𝒑𝒍𝒆𝒎𝒆𝒏𝒕 𝒌𝒆𝒚 𝒇𝒆𝒂𝒕𝒖𝒓𝒆𝒔, 𝒔𝒖𝒄𝒉 𝒂𝒔 𝒑𝒂𝒓𝒔𝒊𝒏𝒈 𝒂𝒏𝒅 𝒆𝒙𝒆𝒄𝒖𝒕𝒊𝒏𝒈 𝒄𝒐𝒎𝒎𝒂𝒏𝒅𝒔, 𝒎𝒂𝒏𝒂𝒈𝒊𝒏𝒈 𝒆𝒏𝒗𝒊𝒓𝒐𝒏𝒎𝒆𝒏𝒕 𝒗𝒂𝒓𝒊𝒂𝒃𝒍𝒆𝒔, 𝒂𝒏𝒅 𝒔𝒖𝒑𝒑𝒐𝒓𝒕𝒊𝒏𝒈 𝒑𝒊𝒑𝒆𝒔 𝒂𝒏𝒅 𝒓𝒆𝒅𝒊𝒓𝒆𝒄𝒕𝒔. 𝑷𝒂𝒓𝒕𝒊𝒄𝒊𝒑𝒂𝒏𝒕𝒔 𝒘𝒊𝒍𝒍 𝒂𝒍𝒔𝒐 𝒍𝒆𝒂𝒓𝒏 𝒉𝒐𝒘 𝒕𝒐 𝒉𝒂𝒏𝒅𝒍𝒆 𝒆𝒓𝒓𝒐𝒓𝒔 𝒂𝒏𝒅 𝒊𝒎𝒑𝒍𝒆𝒎𝒆𝒏𝒕 𝒃𝒂𝒔𝒊𝒄 𝒇𝒆𝒂𝒕𝒖𝒓𝒆𝒔 𝒍𝒊𝒌𝒆 𝒉𝒊𝒔𝒕𝒐𝒓𝒚 𝒂𝒏𝒅 𝒕𝒂𝒃 𝒄𝒐𝒎𝒑𝒍𝒆𝒕𝒊𝒐𝒏. 𝑻𝒉𝒓𝒐𝒖𝒈𝒉 𝒕𝒉𝒊𝒔 𝒑𝒓𝒐𝒋𝒆𝒄𝒕, 𝒅𝒆𝒗𝒆𝒍𝒐𝒑𝒆𝒓𝒔 𝒄𝒂𝒏 𝒈𝒂𝒊𝒏 𝒂 𝒅𝒆𝒆𝒑𝒆𝒓 𝒖𝒏𝒅𝒆𝒓𝒔𝒕𝒂𝒏𝒅𝒊𝒏𝒈 𝒐𝒇 𝒉𝒐𝒘 𝒔𝒉𝒆𝒍𝒍𝒔 𝒘𝒐𝒓𝒌 𝒂𝒏𝒅 𝒅𝒆𝒗𝒆𝒍𝒐𝒑 𝒕𝒉𝒆𝒊𝒓 𝒑𝒓𝒐𝒈𝒓𝒂𝒎𝒎𝒊𝒏𝒈 𝒔𝒌𝒊𝒍𝒍𝒔 𝒃𝒚 𝒘𝒐𝒓𝒌𝒊𝒏𝒈 𝒐𝒏 𝒂 𝒓𝒆𝒂𝒍-𝒘𝒐𝒓𝒍𝒅 𝒑𝒓𝒐𝒋𝒆𝒄𝒕.
subject pdf :
https://cdn.intra.42.fr/pdf/pdf/47172/en.subject.pdf
brew installation (needed in some readline functions):
rm -rf $HOME/.brew && git clone --depth=1 /~https://github.com/Homebrew/brew $HOME/.brew && echo 'export PATH=$HOME/.brew/bin:$PATH' >> $HOME/.zshrc && source $HOME/.zshrc && brew update
[NOTE] : run the previous command unless you're not a sudo, otherwise run :
sudo apt install readline
some helping resources:
https://www.rozmichelle.com/pipes-forks-dups/