Eu suponho que você realmente quer dizer "link simbólico de tudo dentro da pasta" ...
Conceitualmente, você quer algo como:
for each file in base folder not in exclude list
create symlink in target folder pointing back to base folder
done
bash logic para conseguir isso é algo como
#! /bin/bash
exclude=( "foo.conf" "bar.conf" )
for file in *; do
for (( index = 0; index < ${#exclude[@]}; index++ )); do
if [[ ${file} != ${exclude[${index}]} ]]; then
ln -s ${file} ${target}/${file}
fi
done
done
Supondo que você ainda não saiba, o Guia de script de script avançado deve lhe dar o suficiente para descobrir o que globbing você quer (talvez find
) e como converter isso para uma função (talvez uma recursiva).