我有一个TCL脚本,有许多参数定义为参数.我打算创建一个作业文件,我可以使用不同的参数组合执行.tcl脚本,无需人工干预.
我的意思是:
作业文件(run.sh):
./main.tcl arg1 arg2 arg3 arg4
./main.tcl arg1 arg3 arg5
Run Code Online (Sandbox Code Playgroud)
现在,我希望能够将run.sh中提到的每个运行的命令行参数数组"argv"作为数组传递到main.tcl脚本中,以便在执行之前在脚本中相应地设置选项.
有没有办法链接.sh脚本和.tcl脚本?
我试图发出以下查询:
SELECT
AVG(`count`)
FROM
(SELECT
COUNT(s_id) AS `count`
FROM
instructor,
advisor
WHERE instructor.ID = advisor.i_id
AND dept_name = 'CIS'
GROUP BY dept_name) nested ;
Run Code Online (Sandbox Code Playgroud)
计算计数值的平均值。但是,嵌套查询向我返回计数值 = 2 的单行。该值 2 是与查询匹配的 2 行记录的结果。
现在,当我对其应用平均函数时,我得到 2.0000。然而,预期答案是 1.0000。
知道如何才能获得预期值吗?
我正在实现我自己的shell,我设法让I/O重定向与管道一起工作.但是,我无法理解我应该做什么来重定向stderr,以便我可以在我的代码中包含>&和>>&功能.
此外,逻辑是否遵循实施|&?
这是我的代码:
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
#include <signal.h>
void execute(char **, int, char **);
void handle_signal(int);
int parse(char *, char **, char **, int *);
void chop(char *);
#define INPUT_STRING_SIZE 80
#define NORMAL 00
#define OUTPUT_REDIRECTION 11
#define INPUT_REDIRECTION 22
#define PIPELINE 33
#define BACKGROUND 44
#define OUTPUT_APP 55
typedef void (*sighandler_t)(int);
int main(int argc, char *argv[])
{
int i, mode = NORMAL, cmdArgc;
size_t len = INPUT_STRING_SIZE;
char …Run Code Online (Sandbox Code Playgroud)