【问题标题】:Writing a shell script that accepts as command line arguments a series of 3 strings representing file types编写一个 shell 脚本,该脚本接受一系列 3 个代表文件类型的字符串作为命令行参数
【发布时间】:2020-03-04 00:33:38
【问题描述】:

所以我有一个名为 process_files 的脚本,当调用一个文件类型时,应该根据输入到命令行的内容创建一个目录。因此,例如,当输入 process_files JPG 时,应该创建一个 JPG 目录。但是,当我尝试这样做时,它还会创建我的代码中的其他目录。这是代码。

 #!/bin/sh


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

【问题讨论】:

标签: linux shell command-line centos


【解决方案1】:

我认为无论如何你都不能用这么短的脚本来完成它。

首先,您需要以不同的方式引用您传递的参数:

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

然后您需要有条件地将输入参数与“jpg”/“gif”/“docx”/“png”字符串进行比较,如果为真,则运行 mkdir 命令:

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

可能有类似 awk 之类的花哨的快捷方式,但如果您刚刚开始编写 shell 脚本,那么最好采用显式迭代路线,并在早期脚本中保持简单明了。

有很多学习 shell 脚本的在线资源,它们可以快速涵盖大多数场景并回答大多数问题。

【讨论】:

    猜你喜欢
    • 2012-10-07
    • 2015-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多