使用参数从java程序调用脚本shell

时间:2010-06-30 09:41:26

标签: bash

我想调用这个shell脚本:

#!/bin/sh
exiftool -a -u -g1 -j videos/$filename > metadata/$filename1.json;

来自java中的程序。我试试这个:

    File dir = new File("videos"); 
    String[] children = dir.list(); 
    if (children == null) { 
        // Either dir does not exist or is not a directory 
        System.out.print("No existe el directorio\n");
        } else { 
            for (int i=0; i<children.length; i++) { 
                // Get filename of file or directory 
                String filename = children[i];

                //Recojo el momento exacto
                Process p = Runtime.getRuntime().exec("/home/slosada/workspace/Hola/Metadata.sh "+filename+" "+filename+"");

            }

        }

但是我的电脑被封锁了,我什么也做不了。此外,没有输出文件 也许,问题在于我如何调用脚本以及如何传递参数文件名。

任何帮助?

提前致谢

1 个答案:

答案 0 :(得分:1)

您需要在shell脚本中检索参数:

#!/bin/sh
filename=$1
filename1=$2
exiftool -a -u -g1 -j videos/$filename > metadata/$filename1.json