Mik*_*ike 6 unix printf csh set echo
再会,
希望这里得到任何人的帮助,提前致谢。我有 T.csh ,如下所示:
#! /bin/csh
set a="01 02 03 04 05 06 07 08 09 10 11 12 13"
set b="14 15 16 17 18 19 20 21 22 23 24 25"
set c="01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25"
set X = `grep $1 EOL.txt | head -n1 | cut -d- -f1`
printf "$X\n$2\n$3\nYYYY\n1\nN\n"
Run Code Online (Sandbox Code Playgroud)
变量 a、b 和 c 可以选择用作 printf 行中的第三个参数。问题是,每当我尝试运行脚本时,它都会显示未定义的变量。每当我以交互方式分配它们时,这些设置的命令行都可以工作,但在脚本内部,它似乎不起作用。也许我需要初始化它,但不知道如何初始化。我刚刚接触编程,希望有人能帮助我。预先非常感谢。
以下是示例执行和错误供您参考:
CAT-46{bc2}40>set a="01 02 03 04 05 06 07 08 09 10 11 12 13"
CAT-46{bc2}41>./T.csh 4773 XXXX.XX "$a"
62
XXXX.XX
01 02 03 04 05 06 07 08 09 10 11 12 13
82869
1
N
CAT-46{bc2}42>unset a
CAT-46{bc2}43>./T.csh 4773 XXXX.XX "$a"
a: Undefined variable
CAT-46{bc2}44>
Run Code Online (Sandbox Code Playgroud)
如果我手动设置变量,那就没问题,但是当我从脚本中调用它时,它会标记未定义的变量错误。
麦克风
prompt> unset a
prompt> ./T.csh 4773 XXXX.XX "$a"
Run Code Online (Sandbox Code Playgroud)
第一个命令“unset a”删除变量。在第二个命令中,您尝试读取变量(在命令行上!)。这就是 csh 抱怨的原因。
| 归档时间: |
|
| 查看次数: |
38576 次 |
| 最近记录: |