我正在寻求openVMS的一些帮助。
VMS下的默认提示为$
我想更新此内容以反映我在Unix / Linux中更改目录时所处的当前工作目录。
我创建了一个名为login.com的文件,并将其放入openVMS系统的主目录中,并添加了以下代码:
$ SET PROMPT='f$environment("default")'
哪个应该通过显示当前目录来工作,但是它仅在登录时反映我的主目录。当我更改目录时,它不会动态更新。如果我在终端中运行上面的命令,它将显示当前目录。
是否有更新login.com以在每次更改目录时动态更新提示?
答案 0 :(得分:0)
据我所知,您可以做的最好的事情是创建一个命令文件来更改目录并设置提示。
使用以下内容创建名为$ set default 'p1'
$ current = f$dir()
$ d_start = f$locate ( "[", current ) + 1
$ d_stop = f$length ( current ) - 2
$ current_dir = f$extract( d_start, d_stop, current )
$ new_prompt = "SERVER::" + current_dir + ">"
$
$loop:
$ if f$length(new_prompt) .ge. 30
$ then
$ d_start = f$locate ( ".", new_prompt ) + 1
$ new_prompt = "SERVER::" + f$extract ( d_start, d_stop, new_prompt )
$ goto loop
$ endif
$ set prompt='new_prompt
的文件:
LOGIN.COM
您可以根据提示的持续时间
更改循环中的条件然后在您的CD.COM
文件中创建一个指向具有$ DEFINE /GROUP CD "Disk:[Folder.Containing.COM.File]"
文件的目录的逻辑
CD Disk:[Full.Path.To.Dir]
然后像这样使用它:
CD [.subdir]
或
CD
如果您在另一个COM文件中使用gcloud compute ssh --zone=<cluster-zone> --ssh-flag="-D" --ssh-flag="10000" --ssh-flag="-N" "<cluster-name>-m"
命令,则唯一不会正确更新提示的时间。但它仍会正确更改目录。