shell 正则表达式 疑问,哪位大神给看下 如何解决

weixin_57177514 2021-04-21 01:20:35
因为公司用的genesis2000,PCB行业用的csh

现在我的疑问是

#!c:/usr/bin/csh
set a = +2.4
set b= -2.4

set a1 = `echo "$a"|cut -c1`


PAUSE $a1 #############获得的是+

PAUSE $c
if( $a1 == "+")then
PAUSE "true"
else
PAUSE "false"
endif

#########为什么$a1跟“+”不相等,换成其他变量如set c = "+"还是不相等?用正则表达式该怎么写(匹配第一个符号 是+还是-,我用正则表达式还是错的)
if[ $a =~ ^+ ]then 一直返回true,谁知道 这个语法如何写,查了很多资料,没有chsell的正则,就是变量a第一个字符是+还是-
PAUSE "true"
else
PAUSE "false"
endif

谢谢,不吝赐教
...全文
171 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
muska579 2021-06-12
  • 打赏
  • 举报
回复 1

if ( "$a1" == '+' ) then

set a1 = `echo "$a" | cut -c1 | awk '{if ($1 == "+") print "true"; else print "false"}'`
PAUSE $a1

weixin_57177514 2021-04-24
  • 打赏
  • 举报
回复
我的是WINDOWS 系统 装好就是这样,这个是没有问题的
yolyry 2021-04-23
  • 打赏
  • 举报
回复
#!c:/usr/bin/csh 这是什么鬼?难道不应该是 #!/usr/bin/csh

19,613

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧