首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenVMS中的DCL符号语法

OpenVMS中的DCL符号语法
EN

Stack Overflow用户
提问于 2011-07-04 15:42:33
回答 4查看 3.7K关注 0票数 3

我真的被OpenVMS的DCL中的一些语法搞糊涂了。例如,以下是一些让我感到困惑的代码:

代码语言:javascript
复制
$    wo = "write sys$output"

是否为写入sys$ wo创建符号输出?

代码语言:javascript
复制
$ billing_run_number   == p1

在执行.com文件时,p1是否是传递给该文件的参数?可以提供多少个参数?

代码语言:javascript
复制
$ wo "BILLING_RUN_NUMBER   = ''billing_run_number'"

符号abc的内容是否替换了''abc‘?为什么是“abc”而不是“abc”?我们能用"“吗?

代码语言:javascript
复制
$ if ((status .nes. "P") .and. (status .nes. "M")) .or. (ftp_status .nes. "Y")

.nes.是什么意思?相等吗?我也见过.ne。、.eqs.也是。它们有什么不同?

为什么" and“和"or”被两个点包围?特定于DCL的语法?

这将是很好,如果有任何免费的在线教程是容易理解的。谢谢大家!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-07-05 21:48:09

您可以在http://hp.com/go/vms上在线找到虚拟机管理系统文档

您想要阅读的手册是http://h71000.www7.hp.com/doc/731final/documentation/pdf/ovms_731_users.pdf上的OpenVMS用户手册(特别是第2章)。

票数 5
EN

Stack Overflow用户

发布于 2011-07-04 15:57:01

从内存:正如您所说,$ wo = "write sys$output"将wo指定为"write sys$output“的别名,这相当于Unix stdout。

与数字“不等于”的.ne.相比,.nes.“不等于字符串”。

正如您所猜到的,p1是一个(第一个)参数。我不记得它是通过p9还是更多的p1,或者是否没有任意的限制。p0可能是程序名,就像Python的sys.argv一样。

命令过程最多可接受8个参数,称为P1。P8。

单引号(')插入以下变量名,因此wo "BILLING_RUN_NUMBER = ''billing_run_number'"将输出,例如BILLING_RUN_NUMBER = '42',假设p1等于42。当DCL在一行中看到两个单引号时,我已经记不清它是如何知道该怎么做的了……

正式的咒语是'' symbol‘’将实际的DCL文本替换为symbol的值

这至少能让你开始..。大多数使用VMS的商店都有几百磅的三环活页夹文档。四处打听一下。

票数 4
EN

Stack Overflow用户

发布于 2011-07-05 21:19:32

是在执行.com文件时传递给它的参数吗?可以提供多少个参数?

最多可以传递8个参数。每一个都被定义为P1,P2...P8

如果你需要8个以上的参数,你可以使用如下技巧

@my_dcl "my_p1“"my_p2”"my_p3“"my_p4”"my_p5“"my_p6”"my_p7“"my_p8 my_p9 my_p10”

my_dcl中,P8将在单个字符串中包含"my_p8 my_p9 my_p10“的值。

$ wo "BILLING_RUN_NUMBER =‘’帐单运行编号‘“

'' abc‘’是否被符号abc的内容所取代?为什么是“abc”而不是“abc”?我们能用"“吗?

$ if ((状态为.nes。"P") .and。(状态为.nes。"M")) .or。(ftp_status .nes."Y")

单引号表示翻译字符串的内容。

因此,如果您定义wo = "write sys$output"

您可以使用

代码语言:javascript
复制
wo "Hello World!"

代码语言:javascript
复制
'wo "Hello World!"

但是如果你想向write sys$output Hello World展示

如果你试过,

代码语言:javascript
复制
wo "'wo Hello World!"

你会得到wo 'wo Hello World!

所以,你必须用单引号把它括起来。

前两个是转义的单引号,最后一个表示停止翻译。

wo "''wo‘Hello World!“

像其他脚本语言一样,你可以使用变量变量...

代码语言:javascript
复制
var_hidden = "Hello world!"
my_var = "var_hidden"
wo 'my_var'

将打印Hello world!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6568618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档