Hai ragione quando dici di "non usare lo stdin correttamente". Infatti, dallo snippet di script che hai fornito, il tuo script presuppone che stai ricevendo i file come argomenti sulla riga di comando ... non stai usando lo stdin!
Nell'angolo in alto a destra dell'azione Esegui script shell, sotto la X è presente una casella a discesa con 2 opzioni: "Passa input: per stdin" e "Passa intput: come argomenti". Queste opzioni determinano il modo in cui i file selezionati vengono passati all'azione di script. Se viene selezionata l'opzione 'come argomenti', lo script dovrebbe utilizzare il seguente modello
for f in "[email protected]"; do
# so stuff here
done
Questo modello è fornito con l'azione in sé, quando 'come argomenti' sia selezionata.
D'altra parte, se è selezionata l'opzione 'a stdin', allora si dovrebbe usare questo script di tamplate:
while read fname; do # read each line - assumes one file name per line
# do clever stuff with the filename
echo $fname # to illustrate we'll simply copy the filename to stdout
done
(Nel caso in cui non si conosce lo scripting bash, tutto dopo il # su una riga è un commento)
si noti che il modello fornito dall'azione script è il semplice, singolo comando
cat
Non molto utile a mio parere.
Si noti che finché non si immette effettivamente testo nell'area di script, il passaggio da "a stdin" a "come argomenti" modificherà il contenuto della casella di script (presumo che questo sia un suggerimento su come dovrebbe essere lo script) ma una volta inserito qualcosa, la commutazione non avviene più.