Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调用Java程序时在shell脚本中转义星号_Shell_Escaping_Wildcard_Arguments - Fatal编程技术网

调用Java程序时在shell脚本中转义星号

调用Java程序时在shell脚本中转义星号,shell,escaping,wildcard,arguments,Shell,Escaping,Wildcard,Arguments,我有一个简单的java程序,它只打印传递的参数 public class CmdArgsTest { public static void main(String[] args) { for(String arg : args){ System.out.println(arg); } } } 我从shell脚本setupTest.sh调用这个java程序,如下所示 java CmdArgsTest$* 当我使用这些

我有一个简单的java程序,它只打印传递的参数

public class CmdArgsTest {
    public static void main(String[] args) {
        for(String arg : args){
            System.out.println(arg);    
        }
    }
}
我从shell脚本
setupTest.sh
调用这个java程序,如下所示
java CmdArgsTest$*

当我使用这些参数调用
setupTest.sh
时,
*
将被目录中的所有文件名替换

setupTest.sh -tt oracle -tn test_ora -sqlQuery "select * from myTable"
即使我用
\
转义
*
,但传递的参数是
\*
,而不是
*
。我也试过把
*
放在引号里,但没有用

我无法以
java CmdArgsTest“$*”
的形式运行脚本,因为所有命令都传递了一个大字符串

任何帮助都将不胜感激

谢谢,, Saurabh

尝试转义美元(
$
)符号

或者使用单引号

java CmdArgsTest '$*'
另一个调用也是如此:

setupTest.sh -tt oracle -tn test_ora -sqlQuery 'select * from myTable'
setupTest.sh -tt oracle -tn test_ora -sqlQuery 'select * from myTable'