免费注册 查看新帖 |

Chinaunix

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

cygwin下可以写shell程序么 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-03-21 17:34 |只看该作者 |倒序浏览
cygwin下也应该可以执行shell程序吧?
如果我想把下面的命令按顺序执行,就像windows下的批处理一样,可以实现么?应该怎么写呢?

cd /usr/src/build-binutils
../binutils-x.xx/configure --target=$TARGET --prefix=$PREFIX
make all install

cd /usr/src/build-gcc
../gcc-x.x.x/configure --target=$TARGET --prefix=$PREFIX --enable-languages=c,c++ --without-headers --with-newlib
make all-gcc install-gcc

cd /build-newlib
../newlib/configure --target=$TARGET --prefix=$PREFIX

cd /usr/src/build-gcc
../gcc-x.x.x/configure --target=$TARGET --prefix=$PREFIX --disable-nls \
--enable-languages=c,c++
make all-gcc install-gcc

[ 本帖最后由 centerplain 于 2007-3-21 17:35 编辑 ]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2007-03-21 17:58 |只看该作者
把你写的保存成一个文件urfile, 然后
sh urfile
即可

论坛徽章:
0
3 [报告]
发表于 2007-03-21 18:22 |只看该作者
谢谢,我试试,没有后缀名么,必须用urfile作为文件名么?

论坛徽章:
0
4 [报告]
发表于 2007-03-21 20:35 |只看该作者
文件名可以自己起。

论坛徽章:
0
5 [报告]
发表于 2007-03-21 21:08 |只看该作者
写完脚本以后执行 chmod +x yourfilename
接着在当前目录敲命令    ./yourfilename 就可以运行脚本

上网搜搜linux shell 资料,比看论坛快多了:)

论坛徽章:
0
6 [报告]
发表于 2007-03-21 22:59 |只看该作者
我试了一个很简单的脚本:

cd /                           //进到cygwin的根目录,也是file.c所在目录
gcc file.c -o file          //用gcc编译file.c文件

保存为jj

因为cygwin在windows下的运行文件是:cygwin.bat
cygwin.bat内容如下:
@echo off
E:
chdir E:\cygwin\bin               //我安装cygwin的路径
bash --login -i
PATH="E:\cygwin\bin"

然后我查了帮助,要在bash里运行脚本,直接在bash后面加上脚本的名字就可以了
于是我修改后的如下:
@echo off
E:
chdir E:\cygwin\bin               
bash --login -i jj              //在后面加上我的脚本文件
PATH="E:\cygwin\bin"

但是运行bat文件后,会报错:cannot open .exe:no such file or directory
collect2:ld returned exit status command not found
这是什么错啊,而且也没有产生file.exe文件。
不用脚本,直接用命令编译,只会有警告,但是生成了file.exe可以运行

是不是我的脚本写的有问题啊!

论坛徽章:
0
7 [报告]
发表于 2007-03-21 23:33 |只看该作者
大概是我写的脚本不标准吧,刚在网上搜了一下,linux下脚本的开头都是:
#!/bin/bash
……
……
我没有写,呵呵,大概是这个错误
/bin/bash不用变吧?
只能明天再到实验室test一下了:(
非常感谢寂寞烈火、 Ray001 还有crook的回复!哈哈

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
8 [报告]
发表于 2007-03-21 23:53 |只看该作者
原帖由 centerplain 于 2007-3-21 23:33 发表
大概是我写的脚本不标准吧,刚在网上搜了一下,linux下脚本的开头都是:
#!/bin/bash
……
……
我没有写,呵呵,大概是这个错误
/bin/bash不用变吧?
只能明天再到实验室test一下了:(
非常感谢寂寞烈 ...

抽空看置顶十三问吧~~, 呵呵
PS:几乎所由的脚本语言都是以#!开头的, 意思是让某种程序去解释病执行!,像
#!/bin/bash 让bash解释执行
#!/bin/perl  让perl解释执行
#!/bin/php 让php解释并执行

论坛徽章:
0
9 [报告]
发表于 2007-03-22 00:33 |只看该作者
一定去看看!呵呵

论坛徽章:
13
CU大牛徽章
日期:2013-04-17 11:20:3615-16赛季CBA联赛之吉林
日期:2017-05-25 16:45:4715-16赛季CBA联赛之福建
日期:2017-03-13 11:33:442017金鸡报晓
日期:2017-02-08 10:39:422017金鸡报晓
日期:2017-01-10 15:13:29IT运维版块每日发帖之星
日期:2016-03-15 06:20:01IT运维版块每日发帖之星
日期:2015-10-02 06:20:00CU十二周年纪念徽章
日期:2013-10-24 15:41:34CU大牛徽章
日期:2013-09-18 15:15:45CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-04-17 11:46:39CU大牛徽章
日期:2013-04-17 11:46:28
10 [报告]
发表于 2007-04-16 16:54 |只看该作者
#!
作为脚本文件开头是表示这个是可以利用紧接着的程序处理的脚本。
参考:http://www.eit.name/blog/read.php?171
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP