我对shell脚本了解甚少,但我想尝试实现一些复杂的脚本。
假设我有一个 doitall.sh,其内容如下:
zip -j version_a_en.zip en_filea1.txt en_fileb2.json
还有一个 doitall2.sh ,其内容如下:
zip -j version_b_en.zip en_fileb1.txt en_fileb2.json
如何使用“a”和“en”作为参数,以便我可以仅使用一个脚本来处理所有类似的需求。喜欢
./doitall.sh a en
或者
./doitall.sh b fr
答案1
a
可以使用和en
在 shell 脚本中访问命令行参数$1
和$2
:
#! /bin/bash
zip -j version_"$1"_"$2".zip "$2"_filea1.txt "$2"_fileb2.json
当文本中后面有数字时必须小心,这就是为什么我总是倾向于将它们放在双引号中,但在这种情况下你可以将它们省略。