Você deve fazer as seguintes alterações no seu script:
- Crie os diretórios ausentes antes de chamar 'rst2html'
- Altere o caminho de destino para incluir um
/
extra para permitir que o argumento de origem defind
comece com um ponto.
Aqui está uma solução sugerida:
#!/bin/bash
directory=$1
for i in $(find $directory -type f -name \*.rst)
do
RST_FILE="$i"
HTML_FILE="./html/${i%.html}"
HTML_DIR=$(dirname ${HTML_FILE})
mkdir -p ${HTML_DIR}
rst2html "$i" "$HTML_FILE"
done