在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 646|回复: 9

[求助] SKILL 中执行 bash 命令的函数

[复制链接]
发表于 2024-10-15 16:17:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
我最近工作环境切换到 bash 了,之前写的 skill 脚本凡是有执行 sh/csh 命令的语句都运行不了了,我在 skill user guide 里发现没有 bash 的相关接口函数,所以来找各位高手求助,感谢!!!
发表于 2024-10-15 16:48:45 | 显示全部楼层
之前是怎么运行的?
 楼主| 发表于 2024-10-15 16:51:23 | 显示全部楼层


amodaman 发表于 2024-10-15 16:48
之前是怎么运行的?


用 csh 或者 sh 函数调用 shell 解释器就可以在 skill 里执行 shell 子程序了。
发表于 2024-10-15 18:27:32 | 显示全部楼层
这个很简单啊,比如你原来用cadence的函数sh() 调用 shell 里面的 date 命令,sh("date") 是可以成功返回一个 t 的 (虽然我不知道这样做有啥意义),你现在外部的Shell转为 bash了,那么就在SKILL 代码里面写 sh(“/bin/bash -c date”),  就跟原来的效果一样了 (again,我不知道这有啥用)。
发表于 2024-10-15 20:34:59 | 显示全部楼层
如果你原来在SKILL脚本中是用 csh(...) 来执行 csh 命令的,大概率把 csh 改成 sh 就可以了。c-shell 和 borne shell 在处理简单命令方面基本上一样的。
 楼主| 发表于 2024-10-16 09:09:35 | 显示全部楼层


amodaman 发表于 2024-10-15 18:27
这个很简单啊,比如你原来用cadence的函数sh() 调用 shell 里面的 date 命令,sh("date") 是可以成功返回一 ...


您说的方法不行的,我之前就试过,virtuoso 会卡死在 shell 从 csh 切换到 bash 的过程中,除非在 virtuoso 中直接调用 sh 图形交互界面才能实现环境切换。

我要调用外部命令主要是因为我之前写过一套 virtuoso 中快捷方式直接导出当前窗口的 gds cdl 并建立修改好的包括 drc lvs ant xrc 等所有验证环境,这样就不用从 virtuoso 切换到 terminal 操作了,很方便。
 楼主| 发表于 2024-10-16 09:10:48 | 显示全部楼层


acrofoxAgain 发表于 2024-10-15 20:34
如果你原来在SKILL脚本中是用 csh(...) 来执行 csh 命令的,大概率把 csh 改成 sh 就可以了。c-shell 和 bo ...


不行,无论是 csh 还是 sh 都不识别 bash 的命令名称。
发表于 2024-10-16 09:43:06 | 显示全部楼层


stefandIC 发表于 2024-10-16 09:09
您说的方法不行的,我之前就试过,virtuoso 会卡死在 shell 从 csh 切换到 bash 的过程中,除非在 virtuo ...


其实不是卡死了,是调用这个函数之后,控制权一直在你启动的shell程序而没有返回给virtuoso。我给你举的例子是用shell的date命令,这个时候控制权一下子就返回给了virtuoso.  如果你调用的shell程序是带有图形操作界面的,那么就应该在命令后增加一个 \& 符号,使得控制权能够返回, 比如 sh("/bin/bash -c xterm &").  没有这个 \& 就会卡死,直到你退出 xterm.
发表于 2024-10-16 09:56:16 | 显示全部楼层
从Cadence调用外部的程序,如果功能复杂一点的话,最好是应该用ipcBeginProcess这个机制的,里面只要确定简单的握手机制,ioHandler,errHandler,运行的log是否返回等等,就可以跑起来,很简单的,不到30行代码就够了。
 楼主| 发表于 2024-10-16 10:01:16 | 显示全部楼层


amodaman 发表于 2024-10-16 09:43
其实不是卡死了,是调用这个函数之后,控制权一直在你启动的shell程序而没有返回给virtuoso。我给你举的 ...


感谢提醒,看到什么都没执行我就以为是卡住了呢,没反应过来,万分感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-18 17:46 , Processed in 0.022265 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表