免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2785 | 回复: 6
打印 上一主题 下一主题

[文本处理] 用shell写交互命令(形容不太好具体看帖子内容) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-07-14 13:30 |只看该作者 |倒序浏览
目前在使用Linux做电路仿真,在使用的时候我一般会将多个命令写在一个文件里,然后source这个文件(我将它命名为RunSimulation),就可以运行仿真,文件内容大致如下:
RunSimulation
"
rm *.tr*
rm *.lis*
...
rm *.mt*
#删除之前仿真生成的文件
hspice -mt 8 -i testbench.sp -o testbench.lis&
"

hspice是一个仿真器的命令
现在需要使用多个仿真器进行仿真,因此命令的文本就变成了:
RunSimulation
"
rm *.tr*
rm *.lis*
...
rm *.mt*
#删除之前仿真生成的文件
hspice -mt 8 -i testbench.sp -o testbench.lis&
aps +mt=4 -i testbench.scs &
adit -spice -i testbench.sp&
...
"

每次仿真使用仿真器的时候,我都必须使用#将其他不想用的注释掉,由于仿真软件太多,注释起来太麻烦,想将这个命令文件进行一下改造,在source RunSimulation并且各种rm运行完成后能不能停下来询问使用那种仿真命令,比如
1对应hspice -mt 8 -i testbench.sp -o testbench.lis&
2对应aps +mt=4 -i testbench.scs &
3对应adit -spice -i testbench.sp&
如果我想用hspice仿真就在terminal里面输入1然后回车,程序就能以hspice进行仿真。

这样每次使用时就不用频繁注释这个命令文件RunSimulation了,小弟linux不太懂(基本是0基础),请求各位大神帮助,只要提供一个思路即可,谢谢啦~~~

如果有什么没有解释清楚的,我再仔细解释。
PS:应该是可以通过shell'语言来解决吧,感觉应该跟windows里面bat文件差不多,不过那个我也不太明白:wink:

论坛徽章:
0
2 [报告]
发表于 2014-07-14 13:36 |只看该作者
还有一个问题呀,我把RunSimulation这个文件放在~/script下面了,之后在.cshrc里面添加了~/script这个路径,为什么我在terminal里面输入source RunSimulation系统会提示说 No such file or directory呢?

我在echo $path里面已经看到了我添加的~/script这个路径了呀

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
3 [报告]
发表于 2014-07-14 13:36 |只看该作者
回复 1# luobingyin


用 case 就可以了,看看刚出炉的总结:
http://bbs.chinaunix.net/thread-4145766-1-1.html

论坛徽章:
39
辰龙
日期:2013-08-21 15:45:192015亚冠之广州富力
日期:2015-05-12 16:34:52亥猪
日期:2015-03-03 17:22:00申猴
日期:2015-03-03 17:21:37未羊
日期:2014-10-10 13:45:41戌狗
日期:2014-06-17 09:53:29巨蟹座
日期:2014-06-12 23:17:17双鱼座
日期:2014-06-10 12:42:44寅虎
日期:2014-06-09 12:52:172015亚冠之卡尔希纳萨夫
日期:2015-05-24 15:24:35黄金圣斗士
日期:2015-12-02 17:25:0815-16赛季CBA联赛之吉林
日期:2017-06-24 16:43:52
4 [报告]
发表于 2014-07-14 13:37 |只看该作者
本帖最后由 关阴月飞 于 2014-07-14 13:37 编辑

回复 1# luobingyin

比如
1对应hspice -mt 8 -i testbench.sp -o testbench.lis&
2对应aps +mt=4 -i testbench.scs &
3对应adit -spice -i testbench.sp&

目测是这个意思:
  1. rm *.tr*
  2. rm *.lis*
  3. ...
  4. rm *.mt*
  5. read -p "pls input num: " num
  6. case "$num" in
  7.     1) hspice -mt 8 -i testbench.sp -o testbench.lis& ;;
  8.     2) aps +mt=4 -i testbench.scs & ;;
  9.     3) adit -spice -i testbench.sp& ;;
  10. esac
复制代码

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
5 [报告]
发表于 2014-07-14 13:55 |只看该作者
回复 4# 关阴月飞


      如果我输入了6会怎样?

论坛徽章:
0
6 [报告]
发表于 2014-07-14 13:59 |只看该作者
回复 4# 关阴月飞

试了一下 没有read这个命令啊:

read: Undefine variable

......


   

论坛徽章:
0
7 [报告]
发表于 2014-07-14 14:17 |只看该作者
回复 4# 关阴月飞


    刚才弄了下用bshell可以写,但是如果想用cshell该怎么弄呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP