2017-01-20 16 views
0

Здесь IAM использованием Баш скрипт, который работает как этотКак пропустить команду для количества файлов в каталоге с помощью bash?

for d in os.listdir($folder_name); do 
     echo "Running the scanner :" 
     python bd.py $folder_name/$d 
done 

Здесь IAM скачивания некоторые файлы моего имени каталога folder_name то я хочу, чтобы запустить сценарий, принимая аргументы, каждый и каждый файл именем.Я пытался использовать этот логики, но это не дало мне этой ошибки.

./test: line 29: syntax error near unexpected token `(' 
./test: line 29: `for d in os.listdir($folder_name); do' 

Есть ли способ повторить цикл, беря каждый файл в качестве аргумента и передавая его в файл python.

+0

Я не вижу никакого сценария Bash, который выглядит как Python. –

+0

Ну, теперь, когда вы удалили 'import os' ... у вас все еще есть' os.listdir', который выглядит как Python. –

+0

По-прежнему выглядит странно для меня – minzchickenflavor

ответ

2

Предположительно, вы хотите перебирать файлы в каталоге и запускать скрипт python, беря каждое имя файла в качестве аргумента; если да, то подстановка, чтобы получить имена файлов будут делать:

for f in /directory/*; do python bd.py "$f"; done 

Заменить /directory/ с действительным именем каталога.

os.listdir() является функцией от os модуля в python, который возвращает список, содержащее содержимое каталога в виде строк, то же самое можно достичь с помощью простой оболочки подстановки в любой оболочке.