在BASH中使用2个参数

时间:2017-12-06 15:15:25

标签: linux bash shell csv

我有一个C程序可执行文件,需要两个参数。第一个参数是 abc.dat 文件,第二个参数是 abc.csv 文件。该程序输入 .dat 文件并将其转换为 .csv 文件。运行程序时存在 .dat ,它会创建 .csv ,这是第二个参数。

我正在尝试使用bash脚本转换文件夹中的所有文件。

这是我的bash脚本:

#!/bin/sh

for file in /home/labadmin/Desktop/6122017/1252017
do
    ./my_read_bfee *.dat *.csv
done

当我执行bash脚本时,我得到:

usage: read_bfee in.dat out.csv

请帮忙。 提前谢谢。

1 个答案:

答案 0 :(得分:2)

也许你想要

#!/bin/sh

for file in /home/labadmin/Desktop/6122017/1252017/*.dat
do
    ./my_read_bfee "$file" "${file%.dat}.csv"
done

否则for循环中的*.dat将扩展为每次迭代在当前目录中匹配的所有文件