Eu recomendo decidir o que você deseja que um determinado script faça e, em seguida, pesquisar soluções passo a passo. Ele ensinará cada um dos comandos isoladamente, mas você também aprenderá a melhor forma de conectar o script e lidar com os erros quando encontrá-los.
Há muitos livros e sites sobre o assunto, mas acho que a melhor maneira de aprender é uma abordagem prática, linha por linha. Se você não tem certeza do que quer que seu script faça, provavelmente não precisa ser melhor nisso. Aprenda o que você precisa saber e, se quiser um motivo para aprender alguma coisa, crie um projeto ou contribua com o de outra pessoa.
Boa sorte!