EMP*_*EMP 47 parameters bash scripting
我想编写一个简单的bash脚本,它将充当可执行文件的包装器.如何将脚本接收的所有参数传递给可执行文件?我试过了
/the/exe $@
Run Code Online (Sandbox Code Playgroud)
但这不适用于引用的参数,例如.
./myscript "one big parameter"
Run Code Online (Sandbox Code Playgroud)
运行
/the/exe one big parameter
Run Code Online (Sandbox Code Playgroud)
这不是一回事.
dda*_*daa 68
当一个shell脚本环绕一个可执行文件,如果你不想做的可执行文件完成之后任何东西(这对包装脚本一个共同的情况下,在我的经验),调用可执行正确的做法是:
exec /the/exe "$@"
Run Code Online (Sandbox Code Playgroud)
该exec内置告诉shell只是把控制权交给可执行没有分叉.
实际上,这可以防止无用的shell进程在系统中闲置,直到包装进程终止.
这也意味着在命令之后不能执行任何exec命令.