Ruby 语言 思想驱动生活

June 8, 2007

TACL环境的定制

Filed under: 技术 — liubin @ 19:08

Linux下,用户login之后可以设置一些环境变量等,TACL也可以。
比如logon之后,会有如下信息:

(Invoking $SYSTEM.SYSTEM.TACLLOCL)
(Invoking $DATA11.RYUHIN.TACLCSTM)

其中TACLCSTM文件,是一个TACL宏文件,默认的时候(刚创建)是这样的
?TACL MACRO
== TACL created this file for your protection.

而system下的TACLLOCL应该是共有的吧(猜测)。

定制内容
首先建立一个脚本mymacro,内容如下:

  1. ?SECTION TYPE MACRO
  2. [#IF  [#EMPTY %*%]
  3.   |THEN|
  4.      #OUTPUT  "** ERROR ** ex) COPY FILE1"
  5.   |ELSE|
  6.      #OUTPUT  FUP COPY %*%
  7.               FUP COPY %*%
  8. ]
  9.  
  10. ?SECTION VI MACRO
  11. [#IF [#EMPTY %*%]
  12.   |THEN|
  13.        EDIT
  14.   |ELSE|
  15.        EDIT %*%
  16. ]
  17.  
  18. ?SECTION LS  ALIAS
  19. FILES
  20.  
  21. ?SECTION LL ALIAS
  22. FILEINFO
  23.  
  24. ?SECTION H ALIAS
  25. HISTORY
  26.  
  27. ?SECTION RM MACRO
  28. [#IF [#EMPTY %*%]
  29. |THEN|
  30.     #OUTPUT no file to be deleted
  31. |ELSE|
  32.     PURGE /CONFIRM/ %*%
  33. ]

?SECTION RM MACRO开头的部分是宏,可以写代码,处理参数等。
?SECTION LL ALIAS是别名,可能功能比较简单。
但If then else的写法比较诡异。

然后修改TACLCSTM文件,把这个mymacro文件load进去:

  1. ?TACL MACRO
  2. == TACL created this file for your protection.
  3.  
  4. load/keep 1/mymacro

新开一个term 来logon

  1. (Invoking $DATA11.RYUHIN.TACLCSTM)
  2.  
  3. Loaded from $DATA11.RYUHIN.MYMACRO:
  4.  
  5. TYPE VI LS LL H RM

从显示的上面最后两行可以看出,定义的宏之类的被load进来了,可以使用了。

  1. $DATA11 RYUHIN 3> ls
  2.  
  3. $DATA11.RYUHIN
  4.  
  5. CONFIG    DEFAULT   EST       FILE6U    FUPCSTM   INFILE   
  6. TACLCSTM  TEST

TACLCSTM在每个用户的home下,就是who命令结果中的Saved volume属性。

No Comments

No comments yet.

RSS feed for comments on this post. TrackBack URL

Sorry, the comment form is closed at this time.

Powered by WordPress