Risposte:
Il limite non è in bash ma nel tuo sistema operativo. È definito dal valore di ARG_MAXnel tuo sistema operativo limits.h. È possibile ottenere il valore eseguendo getconf ARG_MAX. Sulla mia macchina OSX 10.5 (e la maggior parte degli altri sistemi BSD) è 262144. Puoi leggere di più su questo limite qui .
echo "$(printf "%$(getconf ARG_MAX)s")"con/bin/echo "$(printf "%$(getconf ARG_MAX)s")"
262144.
Dipende dalla shell, ma l'ultima volta che ho eseguito uno script di configurazione usando zsh su 10.6 erano 65535 caratteri.