O problema está ocorrendo nesta seção do script:
for s in $( ls tmp/usr/bin ); do
p=$( readlink tmp/usr/bin/${s} )
d=$( dirname ${p} )
ln -s larch0/$( basename ${d} )/$( basename ${p}) ${s}
done
rm -rf tmp
Eu tento executá-los individualmente e obter erros, então parece-me que o link simbólico é a abordagem errada, já que "tmp" está sendo adicionado abaixo.
Além disso, readlink não está ecoando nada quando eu tento isso. Provavelmente porque não está imprimindo valores de volta, então matando dirname
e tudo abaixo. Talvez substituir isso com (no entanto, isso é sujo já que eu não sei exatamente onde a próxima coisa parece):
mkdir -p larch0/tmp/usr/bin
mkdir -p larch0/usr/bin
cp tmp/usr/bin/* larch0/tmp/usr/bin/
cp tmp/usr/bin/* larch0/usr/bin
Isso apenas copia os mesmos arquivos para esses dois locais, pois eu não sei o que o próximo script realmente quer. Aposto que é apenas larch0/usr/bin
logicamente, mas tanto faz.