Dato un problema che entrambi possono gestire, ti consigliamo di utilizzare quello con cui ti trovi più a tuo agio. In definitiva, ci sono molti piccoli dettagli, e solo l'esperienza può insegnarti a vederli.
Bash è un linguaggio di scripting per uso generico, proprio come Python, Ruby, Perl, ma ognuno ha punti di forza diversi rispetto agli altri. Perl eccelleva nell'analisi del testo, Python afferma di essere il più elegante del gruppo, gli script di Bash sono eccellenti in "roba da piping in giro", se sai cosa intendo, e Ruby ... beh, Ruby è un po 'speciale in un sacco di modi.
Tuttavia, le differenze tra loro contano davvero solo quando hai una buona quantità di esperienza di scripting sotto la cintura. Ti suggerisco di scegliere una lingua e spingerla fino ai suoi limiti prima di passare alla successiva. Puoi fare molto in uno script di shell, più di quanto la maggior parte delle persone ammetterebbe. Ogni lingua è difficile quanto vuoi. Dopo aver scritto un paio di cose in esso, ogni lingua è "facile" per te.
Avere familiarità con la shell paga rapidamente se vivi in Linux, quindi forse vuoi iniziare con quello. Se trovi un compito che è impossibile o poco pratico da risolvere in uno script di shell, usa qualcos'altro.
Inoltre, tieni presente che l'apprendimento dello script di shell è molto semplice. Il vero potere di esso risiede in altri programmi, come awk, sed, tr, et al.