2012-10-29 175 views

回答

2

你在这里给了一些小背景,但我认为它是壳参数。

ARGUMENTS

如果参数剩余选项处理之后,和既不-c也不-s选项已被提供时,第一个参数被假定为包含shell命令的文件的名称。如果以这种方式调用bash,则将$0设置为文件的名称,并将位置参数设置为其余参数。 Bash从该文件读取并执行命令,然后退出。 Bash的退出状态是在脚本中执行的最后一个命令的退出状态。如果没有执行任何命令,则退出状态为0.首先尝试打开当前目录中的文件,并且如果找不到文件,则shell会在PATH中搜索该脚本的目录。

欲了解更多详情,请尝试man bash

$ cat ./test.sh 
#!/bin/bash 
echo $0 
echo [email protected] 
$ ./test.sh hello world 
./test.sh 
hello world 
+0

谢谢你,是的,这是shell参数。所以$ 0引用第一个文件,$ 1引用第二个文件。 –

+0

如何使用从java安装的位置执行java类?我的意思是通过使用exec命令和java文件(bin)以及类名? –

+0

@ManiVasu我不知道我是否正确理解你。但流程是:使用javac编译 - > java类名。例如:javac test.java; java Test – wliao