Ho una cartella denominata "campione" e contiene 3 file. Voglio scrivere uno script di shell che leggerà questi file all'interno della cartella di esempio e lo pubblicherà su un sito HTTP usando curl.
Ho scritto quanto segue per elencare i file all'interno della cartella:
for dir in sample/*; do
echo $dir;
done
Ma mi dà il seguente output:
sample/log
sample/clk
sample/demo
Sta allegando la cartella principale al suo interno. Voglio l'output come segue (senza il nome della cartella principale)
log
clk
demo
Come faccio?
Risposta accettata:
Usa basename
per rimuovere il percorso iniziale dai file:
for file in sample/*; do
echo "$(basename "$file")"
done
Ma perché no:
( cd sample; ls )