Написание сценария оболочки, который принимает в качестве аргументов командной строки серию из 3 строк, представляющих типы файлов - PullRequest
0 голосов
/ 07 ноября 2019

Итак, у меня есть скрипт с именем process_files, и когда вызывается тип файла, должен быть создан каталог на основе того, что было введено в командную строку. Например, при вводе файла JPG process_files должен быть создан каталог JPG. Однако, когда я пытаюсь сделать это, он также создает другие каталоги, которые есть в моем коде. Это код.

 #!/bin/sh


 $jpg mkdir jpg
 $gif mkdir gif
 $docx mkdir docx
 $png mkdir png

1 Ответ

0 голосов
/ 07 ноября 2019

Я не думаю, что вы в любом случае сможете сделать это в таком коротком сценарии, как этот.

Во-первых, вам нужно ссылаться на аргументы, которые вы передали другим способом:

https://www.learnshell.org/en/Passing_Arguments_to_the_Script

Затем вам нужно условно сравнить входные аргументы со строками "jpg" / "gif" / "docx" / "png" и запустить команду mkdir, если true:

https://linuxize.com/post/how-to-compare-strings-in-bash/

Вероятно, есть причудливые ярлыки с подобными awk, но если вы только начинаете писать сценарии оболочки, то, вероятно, лучше пойти по явному итеративному маршруту и ​​сделать вещи простыми и очевиднымив ранних сценариях.

Существует множество онлайн-ресурсов для изучения сценариев оболочки, и они могут быстро охватить большинство сценариев и ответить на большинство вопросов.

...