首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Shell调用UniVerse命令

从Shell调用UniVerse命令
EN

Stack Overflow用户
提问于 2019-07-12 13:54:18
回答 3查看 861关注 0票数 2

我有一个UniVerse (Rocket U2)系统,并且希望能够从shell脚本调用某些宇宙/TCL命令。然而,每当我运行uv二进制文件时,它似乎都会停止执行shell脚本的其余部分。

例如,如果我运行:/u2/uv/bin/uv

它启动一个UniVerse会话。脚本的下一行(RUNPY run_tests.py)将在TCL环境中执行,但从未输入到TCL。我尝试将字符串参数传递给要执行的uv二进制文件,但似乎没有做任何事情。

有方法从UNIX/Shell环境调用UNIX/TCL命令吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-07-12 17:17:55

您可以手动键入此类型,或将其放入shell脚本中。我没有遇到任何关于这个范例的问题,但是你对外壳的选择理论上可能会影响到这一点。您当然希望在您要在其中执行的帐户的目录中,或者在脚本中对其进行cd处理。

代码语言:javascript
复制
/u2/uv/bin/uv <<start
RUNPY run_tests.py
start

祝好运。

票数 2
EN

Stack Overflow用户

发布于 2019-07-12 17:37:14

需要注意的一件事是,如果您有一个登录段或其他自动运行以启动应用程序的内容(这是非常常见的),那么您需要为非交互式用户找到一种绕过此操作的方法。

https://groups.google.com/forum/#!topic/comp.databases.pick/B2hzuXq3X9A提及

代码语言:javascript
复制
IF OCONV(@TTY,'MCU')='PHANTOM' THEN ABORT

在UD中,我以幻影的形式从unix启动脚本到( a)捕获PH中的日志输出,b)在请求额外输入时结束进程,而不是停留在附近。在UD那是

代码语言:javascript
复制
$echo "PHANTOM COUNT VOC" | udt
UniData Release 8.1  Build: (2008)
Current UniData home is /unidata/ud81/.
Current working directory is /usr/ud81/demo

:PHANTOM COUNT VOC
PHANTOM process 18743448 started.
COMO file is '_PH_/dsiroot45172_18743448'.
:
Critical abort condition found.

$cat _PH_/dsiroot45172_18743448
COUNT VOC
14670 record(s) counted.
PHANTOM process 18743448 has completed.
票数 1
EN

Stack Overflow用户

发布于 2019-07-12 17:59:39

Van Amburg's answer是处理多行输入的最正确方法。我使用的变体代替了用于多行字符串的<<命令,我只是在一个命令周围添加了引号(单引号和双引号都有效):

/u2/uv/bin/uv "RUNPY run_tests.py"

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

https://stackoverflow.com/questions/57008427

复制
相关文章

相似问题

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