我有一个批量运行 SAS 代码run_sas.sh
的命令的包装器。sas
典型的调用如下所示
./run_sas.sh -sysin /my_code/my_program.sas -log /my_log_folder/my_program.log
run_sas.sh
将所有参数传递给sas
with./sas $*
。sas
然后运行/my_code/my_program.sas
并将日志写入/my_log_folder/my_program.log
.- 然后
run_sas.sh
分析它被调用的参数 - 并将日志复制到
/admin/.hidden_log_folder/my_program_<today's date>.log
我想做两个改变:
启用多字参数
有些客户绝对希望我在文件夹和文件名中使用空格并要求我运行/their code/their program.sas
,所以如果我运行
./run_sas.sh -sysin "/their code/their program.sas" -log "/their log folder"
/their code/their program.sas
并且/their log folder
应该将单个参数传递给sas
删除特定参数
有时我需要运行./sas_utf8
而不是./sas
我懒得维护第二个脚本,所以我想允许一个额外的参数,这样
./run_sas.sh -sysin /my_code/my_program.sas -log /my_log_folder -encoding utf8
会打电话
./sas_utf8 -sysin /my_code/my_program.sas -log /my_log_folder
代替
./sas -sysin /my_code/my_program.sas -log /my_log_folder
我该怎么做,最好是在ksh
?