Shell脚本传递命令行参数
而在Linux下是使用 $1 $2 $3
-------------------
如:
1.某bat文件
cd ..\data
@java -classpath ..\lib\hsqldb.jar org.hsqldb.util.DatabaseManager %1 %2 %3 %4 %5 %6 %7 %8 %9
2.某sh文件
#!/bin/sh
cd ../data
java -cp ../lib/hsqldb.jar org.hsqldb.util.DatabaseManager $1 $2 $3 $4 $5 $6 $7 $8 $9
-------------------
其中, $0就是脚本文件的名字,$1是第一个参数,$2为第2个...
$9以后就需要打括号了,如${10},${11},${12}...
==========================================================
1.
#-------------------------------------------------------------------------
9 # 强烈注意,在赋值的前后一定不要有空格
10 # 如果有空格会发生什么?
11
12 # 如果"VARIABLE =value",
13 # ^
14 #+ 脚本将尝试运行一个"VARIABLE"的命令,带着一个"=value"参数.
15
16 # 如果"VARIABLE= value",
17 # ^
18 #+ script tries to run "value" command with
18 #+ 脚本将尝试运行一个"value"的命令,带着
19 #+ the environmental variable "VARIABLE" set to "".
19 #+ 一个被赋成""值的环境变量"VARIABLE".
20 #-------------------------------------------------------------------------
2.
################################Start Script#######################################
1 #!/bin/bash
2 # "裸体"变量
3
4 echo
5
6 # 变量什么时候是"裸体"的,比如前边少了$的时候.
7 # 当它被赋值的时候,而不是被引用的时候.
8
9 # 赋值
10 a=879
11 echo "The value of /"a/" is $a."
12
13 # 使用let赋值
14 let a=16+5
15 echo "The value of /"a/" is now $a."
16
17 echo
18
19 # 在for循环中
20 echo -n "Values of /"a/" in the loop are: "
21 for a in 7 8 9 11
22 do
23 echo -n "$a "
24 done
25
26 echo
27 echo
28
29 # 在read命令状态中
30 echo -n "Enter /"a/" "
31 read a
32 echo "The value of /"a/" is now $a."
33
34 echo
35
36 exit 0
################################End Script#########################################