#!/bin/sh
#\
exec tclsh "$0" "$@"
在看老程序的时候,刚打开就是这样三行,把新手看的晕晕的。
这个是一个bash脚本。姑且把脚本名字叫做, helloworld.bash。它的参数列表叫做,paramlist。
“$0”会被shell替换为helloworld.bash, "$@"会被替换为paramlist。
那么第三行就相当于
通过exec执行 tclsh helloworld.bash paramlist。
tclsh把#当作注释符号,把反斜杠当作续行符,那它就相当于忽略了“exec”这一行。
然后解释执行脚本剩下的内容。相当于变成了执行一个Tcl脚本。
我猜起初可能是为了兼容性的问题,才写出了这么鬼的代码,后面就当作习惯传承下来了。。。