编写带有参数的脚本?

编写带有参数的脚本?

我想编写一个接受参数的 shell 脚本,然后将其应用于文件。

具体来说,我想给出一个术语,然后让它用 mxmlc 编译 term.as(“mxmlc term.as”),然后用 flashplayerdebugger 运行 term.swf(“flashplayerdebugger term.swf”)。我对 shell 脚本还很陌生 - 有什么想法吗?

答案1

你可以使用这样的方法:

#!/bin/sh
# $0 is the script name, $1 id the first ARG, $2 is second...
NAME="$1"
mxmlc $NAME.as
flashplayerdebugger $NAME.swf

答案2

我还建议您使用变量名分隔符。因此代码如下所示:

#!/bin/sh
# $0 is the script name, $1 id the first ARG, $2 is second...
NAME="$1"
mxmlc ${NAME}.as
flashplayerdebugger ${NAME}.sw

这允许在任何上下文中使用该变量,即使在其他文本中也是如此。例如:

NewName="myFileIs${NAME}and that is all"

这将扩展变量 NAME,其前面是“myFileIs”,后面是“and that is all”。变量将扩展,包括字符串内部的空格。如果 NAME 是“inside here”,则 NewName 将是“myFileIsinside hereand that is all”。

命令行最多可以接受 9 个变量。它们可以是包含空格的带引号的字符串,每个带引号的字符串都算作一个变量。例如:

./myProg var1 var 2 var3

所以${1}"var1"${2}"var"${3}"2"${4}"var3"

但: ./myProg var1 "var 2" var3

${1}"var1"${2}"var 2"${3}"var3"

玩得开心!

相关内容