我想修改一个没有很好记录的shell脚本。我知道基本知识,但这个片段很混乱。
我不知道这一行做了什么:
time java -showversion -jar ${here_dir}/AESampleTool.jar -f $FILES -d ${output_dir} $*
我不知道是什么$ *是。谷歌没有太多。上面的行设置$ *等于之前的行吗?脚本中的下一行是$ *作为参数传递给名为launch的函数:
launch $* 1>$log_file 2>&1
下面是该函数。奇怪的部分是它似乎是一个循环参考。函数内部是设置$ *但是然后作为参数传递给函数本身。
function launch {
hset -x
USER=$AEX_USER
l_output_dir=$output_dir
l_here_dir=$here_dir
l_LOGFILE=$LOGFILE
l_FILES=$FILES
l_EXE_JAR=$EXE_SH
l_AEX_LOGDIR=$AEX_LOGDIR
l_AEX_LOGNAME=$AEX_LOGNAME
time java -showversion -jar ${here_dir}/AESampleTool.jar -f $FILES -d ${output_dir} $*
rc=$?
}
您是否尝试过man page? –
看看这个问题:https://stackoverflow.com/questions/5163144/what-are-the-special-dollar-sign-shell-variables – Saucier