免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: icetown
打印 上一主题 下一主题

多行shell脚本如何执行?急!!!!! [复制链接]

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
11 [报告]
发表于 2011-06-17 10:20 |只看该作者
回复 1# icetown


    你的if语句用的不对
  1. abc=1;if [ $abc = 1 ]; then echo "hello world" ; fi
  2. hello world
复制代码
or:
  1. abc=1
  2. if [ $abc = 1 ]
  3. then
  4.       echo "hello world"
  5. fi
  6. hello world
复制代码

论坛徽章:
0
12 [报告]
发表于 2011-06-17 12:10 |只看该作者
回复  icetown
测试成功了,楼主看下
chenyx 发表于 2011-06-17 10:14



    OK,谢谢chenyx

主要是两个问题:
1. if的格式问题:if [$abc]; then echo $abc; fi;
2. 脚本写的时候中间要用空格分开,如果是if [ $abc == 1], 则每个字符之间都要有空格,不像c/c++一样想怎么写怎么写。

另外,不写在一行也是可以的,结果如下:
bash-3.2$ if [ $abc == 1 ]; then
> echo $abc
> fi
1

再抛一个问题吧,有了if,那么else的格式咋写呢?
高人再帮忙看看,多谢。

论坛徽章:
0
13 [报告]
发表于 2011-06-17 12:24 |只看该作者
OK,自己解决else问题。

bash-3.2$ abc = 1
bash-3.2$ if [ $abc == 2 ]
> then echo $abc
> else echo "else"
> fi
else

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
14 [报告]
发表于 2011-06-17 12:47 |只看该作者
用;隔开就可以了吧。这个应该是最简单的了啊。

论坛徽章:
0
15 [报告]
发表于 2011-06-17 17:04 |只看该作者
用;隔开就可以了吧。这个应该是最简单的了啊。
renxiao2003 发表于 2011-06-17 12:47



   
没实践别说简单,你自己试试就知道了。

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
16 [报告]
发表于 2011-06-17 17:18 |只看该作者
回复 15# icetown


    在保证所有命令正确的情况下。难道不行。我记得RHEL5的书上讲过的。

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
17 [报告]
发表于 2011-06-17 17:19 |只看该作者
回复 15# icetown


    确实没实践(没环境装虚拟机啊,公司的电脑配置太低了)

论坛徽章:
0
18 [报告]
发表于 2011-06-17 17:21 |只看该作者
回复  icetown


    在保证所有命令正确的情况下。难道不行。我记得RHEL5的书上讲过的。
renxiao2003 发表于 2011-06-17 17:18



    在保证所有命令正确的情况下。
膜拜一下版主,偶可是在新手园地提的问题啊。
要是能保证所有命令都正确,就不用问这问题了。

论坛徽章:
0
19 [报告]
发表于 2011-06-18 18:34 |只看该作者
楼主的态度似乎有些问题, 你急大家都明白, 可也别老是埋怨帮你的人啊

这态度问多了, 回答你的人会越来越少

楼主要是看了刺眼, 权当废话即可, 我不是来争论的

评分

参与人数 1可用积分 +1 收起 理由
chenyx + 1 意见很中肯.

查看全部评分

论坛徽章:
0
20 [报告]
发表于 2011-06-20 22:30 |只看该作者
2. 脚本写的时候中间要用空格分开,如果是if [ $abc == 1], 则每个字符之间都要有空格,不像c/c++一样想怎么写怎么写。
___________
[只是一个命令,并不是metacharacter. 比如c++里面的void f不能写成voidf一样。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP