Shell脚本传递命令行参数

在Windows下是使用 %1 %2 %3
而在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#########################################

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/22745.html