??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲一区二区三区成人网站,亚洲av无码av在线播放,亚洲一卡2卡三卡4卡有限公司http://www.tkk7.com/cuke/zh-cnTue, 13 May 2025 10:24:43 GMTTue, 13 May 2025 10:24:43 GMT60值得一看的一堆语?/title><link>http://www.tkk7.com/cuke/archive/2011/12/15/366427.html</link><dc:creator>H.C</dc:creator><author>H.C</author><pubDate>Thu, 15 Dec 2011 05:36:00 GMT</pubDate><guid>http://www.tkk7.com/cuke/archive/2011/12/15/366427.html</guid><wfw:comment>http://www.tkk7.com/cuke/comments/366427.html</wfw:comment><comments>http://www.tkk7.com/cuke/archive/2011/12/15/366427.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/cuke/comments/commentRss/366427.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/cuke/services/trackbacks/366427.html</trackback:ping><description><![CDATA[<h2><a title="值得一看的一堆语? rel="bookmark">值得一看的一堆语?/a></h2> <p>昨天在某I间闲逛就转蝲了这个,l果被疯转!现在Q保存到博客上,分nl更多的人?/p> <p>同时Q分享一?a target="_blank">《乔布斯在斯坦福演讲?/a></p> <p>1?8q?马化腄一伙凑?0万创办了腾讯 没买房;98q?史玉?借了50万搞脑白?没买房;99q?丁磊?0万创?63.com 没买房;99q?陈天桥炒股赚?0?创办盛大 没买房;99q?马云{?8人凑?0?注册阉K巴巴 没买ѝ如果当q他们用q?0万买了房Q现在估计还在还着银行的贷Ƒ֐?/p> <p>2、年ȝ我们必须懂得Q?、你不勇敢,没h替你坚强?、没有伞的孩子必d力奔跑!3、自己选择的\、跪着也要把它走完?、不要生气要争气Q?不要看破要突_不要嫉妒要欣赏,不要拖g要积极,不要心动要行动?、宁愿跑h被拌倒无数次Q也不愿规规矩矩C辈子。就跌倒也要豪q的W?/p> <p>3、h生三大遗憾:不会选择Q不坚持选择Q不断地选择Qh生三不斗Q不与君子斗名,不与h斗利Q不与天地斗巧;人生三修l:看得透想得开Q拿得v 攑־下,立得正行得稳Qh生三大陷阱:大意Q轻信,贪婪Qh生三大悲哀Q遇良师不学Q遇良友不交Q遇良机不握。h生三大不争:不与领导争锋Q不与同事争 宠,不与下争功</p> <p>4、一个hQ如果你不D׃把,你根本不知道自己有多优秀。一个hQ想要优UQ你必须要接受挑?一个hQ你惌快优秀Q就要去L挑战。一个hQ敢听真话,需要勇?一个h敢说真话Q需要魄力。一个h的知识,通过学习可以得到;一个h的成长,必须通过练?br /> </p> <p>5、【最温暖的八U食物?#9312;早上醒后来的一个煎蛋;②上班出门前塞在包里的一个苹果;③加班深夜回家后的一热汤;④睡觉前的一杯牛Ӟ⑤伏案工作时的一杯热Ӟ⑥生病卧床时的一白_;⑦喝闷酒的时候一小菜;⑧酒醒后的一清汤面。《你吃到q几P?/p> <p>6、网易CEO丁磊_“千万不要以ؓ我是q一个伟大的理想d办一个伟大的公司Q我从来没有q大的理惻I也没有想要成Z个很有钱的h。创办网 易时我只是想做一个小老板Q就x个房子有辆汽车,不用准时上班Q可以睡懒觉? 我的梦想也是那么单?#8221;丁磊的话很实在。但是,现在创业已经不是那么单了?/p> <p>7、h脉中需有的十种职业人:1 贩子?2旅行C?律师? 人才市场/猎头公司?4 银行? 当地公务人员/警察 ? 名h? 保险/金融/理胦专家? l修人员? 媒体联络人?0 ȝ/护士/ȝ专家。《你认识q十Uh吗?用心l营您的关系吧!?/p> <p>8、【做人的底线】(1Q?不做W三者,即再喜Ƣ(2Q?骗我可以Q如果被我知道超q两ơ,请你有多q滚多远Q?Q? 如果你拿我不当回事,我会以同h式对你(4Q?我可以装傻,但别以ؓ我真傻(5Q?我可以容忍,但别过我的底线Q?Q? 我不是没脾气Q只是不L发脾气(7Q?M真话Q我都能接受?/p> <p>9?5岁觉得游泳难Q放弃游泻I?8岁遇C个你喜欢的hU你L泻I你只好说“我不会?#8221;?8岁觉得英文难Q放弃英文,28岁出C个很?但要会英文的工作Q你只好?#8220;我不会?#8221;。h生前期越嫌麻烦,懒得学Q后来就可能错q让你动心的人和事,错过新风景?#8212;蔡康?/p> <p>10?5岁的英国士兵Barry DelaneyI着鲜亮的绿色吊带短裙和_红腿套Q在同袍好友Kevin Elliott的葬Cg哭的一塌糊?他俩是同在阿富汗执行d的好?他们之前有一个约?无论谁先不幸西归,另一个都要穿奌亮相Ҏ的葬C?为那?灰暗的悲伤带M丝亮Ԍ很感人,一诺千金。《伟大的友谊Q你有这L朋友么??/p> <p>11、慢慢成熟的标志Q?早上无论多困,也会马上起床上班Q?喜欢吃家怾饭多于外面的馆Q?喜欢隐n,|络{֐长时间不更改Q?喜欢看新d?看八卦;5打电话给朋友的次数少了;6可以让你开心的人或?来少了;7没结果的事情,渐渐少做了Q?低落的时候选择一个h呆着?/p> <p>12、美国旧金山有一老头查克费尼Q穿旧衣服,戴烂手表Q住出租屋,挤公交R。他为美国教育捐Zq?0亿美金,q希望死前把仅有?0亿美金全?捐献l社会。在北京有个大富豪陈五喜Q开豪RQ住华宅Q吃大餐Q手上戴大钻戒,投资房地产,同时q在民政部门领取低保Q?q间共得?0万元的社会救助?《中差异?/p> <p>13?931q的1?0日是世界C史上N的一天,阉K?#183;希特勒被d为d国ȝ。他的名aQ?#8220;消灭一个民族,首先瓦解它的文化Q要瓦解?的文化,首先消灭承蝲它的语言Q要消灭q种语言Q首先先从他们的学校里下手?#8221;Q当今的中国大学里无Z么专业,p是必修课Q汉语却不是?/p> <p>14、尼古拉?UL拉,他的亲叔叔叫弗朗西斯.UL拉,名满天下的《教父》的导演。这个小伙子后来d莱坞PZ以自q实力打天下,故意改名为尼古拉?凯奇。不xM叔叔的光。中文化的差异在于此。《我爸是李刚?/p> <p>15、让你成熟至?岁的8句话?、如果你不喜Ƣ现在的工作Q要么辞职不qԌ要么闭嘴不言?、学会忍受孤独?、不要像ȝ那样脆弱Q做个内?强大的h?、管住自q嘴巴?、会创造机会?、若电话老是不响Q你该打出去?、不要草率结婚?、写Z一生要做的事情Q把单子攑֜皮夹里,l常 拿出来看?/p> <p>16、今q_q仅26岁的Facebook的创始h马克·扎克伯格Q以40 亿美元nL?010 布斯全球最q轻富豪榜榜首。目前已把自p半胦产捐赠给慈善事业。扎克伯格拥有亿万nӞ但他至今仍和华裔奛_普莉希拉·陈生zd一套租来的住房里,?天走路或骑自行R上班?/p> <p>17、澳大利亚老板帕尔默,他说Qh每次只能睡一张床Q吃一KQ驾一辆RQ跟一个女ZP所以我军_分一些给大家。ؓ了感谢员工帮助他企业扭 亏ؓ盈,他送给员工55辆奔驎ͼ?50名员工出国度假,宴请2000名员工及家属。员工们兴奋的说Q这L老板Qo我?20%力量d作。《神奇的?导力Q无处不在?/p> <p>18?992q一艘从中国出发的货船在太^z上遭遇强烈风暴Q船上一个装?.9万只塑料玩具鸭的集装坠入大o人难以置信的是,其中1万多 只玩具鸭l成?#8220;鸭子舰队”在vz上漂流?4q之后,竟抵达英国v岸。后来,q些鸭子售hȀ涨百倍。一个h的h值ƈ不在其出w,而在于他谱写什么样的h 生历。?/p> <p>19?0后/90后的通病Q?、近视;2、月光族Q?、喜ƢMoneyQ?、从不锻Dn体;5? 一日三没有规律;6、\Ԍ没有方向感;7、搞不清楚自q血型;8、有一颗狠宅狠宅的心;9、做事情都是三分钟热度;10、经常午?2点以后才?觉。《三条没有你是了?/p> <p>20、母亲一生的六个谎言Q?.(童年?快吃吧,我不饿;2.(年Ӟ深夜做针U活)快睡吧,我不囎ͼ3.(高考\?快喝吧,我不_4. (参加工作Q母亲生病时)你赶快去工作吧,我很好;5.(l母亲寄?你用Q我有钱Q?.(买房接她?城里Q我不习惯。愿天下的母亲健康长寿!《到了毕 业的q个时候,更能体会妈妈的良苦用心,好好ȝ她!?/p> <p>21、【永q都不要做的事?Q跟知己上床 2、和情hl婚 3、把同事当成朋友4、到朋友公司打工 5、在上司面前知无不言 6、轻信上司的许诺 7、喜怒哀乐都挂在怸 8、在人堆里大声讲手机 9、习惯于l自己找借口 10、超车过去,看开着车有着H窕背媄的MM的脸 11、对MM?字信以ؓ?12、指望前奛_回心转意?/p> <p>22、【成功者的习惯?.微笑?.气质U朴?.不向朋友借钱?.背后说别人好话?.听到某h说别人坏话时只微W?.q去的事不让人全?道?. 敬不喜Ƣ你的h?.对事无情Q对人有情?0.多做自我批评?1.为别人喝彩?2.感恩?3.学会聆听?4.说话时常用我们开头?5.说 话?6.喜欢自己?/p> <p>22、可敬可畏:1.日本电视台用中文q行q播Q通知Z地震情况、躲避方式;2.每个家庭都有急救包Q包括药物、手摇式发电攉机;3?U大 震后东京建筑几乎安然无恙Q尤其是Z遉K旉井然有序的站在道路两侧尽量不ȝ交通,撤离后无一垃圾。日本是个危机意识、集体主义、纪律性极强的国家Q?/p> <p>23、【徏立h脉的15个提C?、学会换位思考;2、学会适应环境Q?、学会大方;4、学会低调;5、嘴要甜Q?、有CDQ?、言多必失;8、学 会感恩;9、遵守时_10、信守诺aQ?1、学会忍耐;12、有一颗^常心Q?3、学会赞扬别人;14、待上以敬,待下以宽Q?5、经常检讨自己?/p> <p>24?5q前Q就M江大学的法国女子丹和中国学生袁_宝相恋,但袁已婚了?956q_丹尼伤痛中离开了中国。最初还通信Q但慢慢断了来 往。去q初Q袁试探着l丹写信,竟然回复了?月,两h重逢第三天在厦门结婚,83岁的丹妮W一ơ穿上了婚纱。爱Q它实存在。《我怿爱情Q你呢??/p> <p>25、让你少奋斗10q的工作l验Q?不要停留在心늚舒适区域;2不要把好像、大概、晚些时候、或者、说不定之类的话攑֜嘴边Q?不要拖g?作;4不要认ؓ理论上可以实施就大功告成了;5不要让别人等你;6不要认ؓl节不重要;7不要表现得消极;8不要把改善工作能力仅寄托在公司培训上Q??要推卸责仅R?/p> <p>26、hq_一辈子只有7ơ决定h生走向的ZQ两ơ机会间盔RU?q_大概25岁后开始出现机会,75岁以后就不会有什么机会了。这50q里? ơ机会,W一ơ不易抓刎ͼ因ؓ太年轻,最后一ơ也不用抓,因ؓ太老,q样只剩5ơ了Q这5ơ机会里又有两次不小心错q,所以实际上只有3ơ机会了?#8212;—?佛的一调查报?/p> <p>27、职场情商训l??1、把看不的人看;2、把看不L人看P3、把不想做的事做好;4、把想不通的事想通;5、把快骂出的话收回;6?把咽不下气的咽下Q?、把xU늚心收住;——你不需每时每刻q样做,但这样多做几回,你就会:1、情商高?、职位升?、工资涨?、h爽了?/p> <p>28、泰勒语录:Q?Q我拥有一个女人的w体和一个孩子的情感。(2Q我只和与我l婚的男Zq床。有多少女h敢这么说Q(3Q如果有人笨到花 100万美元ؓ我拍张照片,我当然不会笨到拒l他。(4Q?成功是一U了不v的除臭剂。它能带走所有你q去的味道。(5Q我不会假装是个q_的家庭主妇?/p> <p>29、她原系徐州x队员Q?2岁嫁l?0岁的cherryL卡后d、经新男友引荐入读耉大学?6q旅行结识同座的starTV副总,l推 荐在香港实习?7q晚宴她一杯红酒洒?#8220;传媒大亨”默多克n上,3q后他不֮人反对而离婚ƈq娶奏V?q后她以高科技Z生下两个l承数十亿美金的 奛_。她是邓文q。《运气L留给有预谋的人。。?/p> <p>30、我q轻时曾与我们州最漂亮的女孩约会,但最后没有成功。我听说她后来离q三ơ婚Q如果我们当时真在一P我都无法惌未来会怎么栗所以,?实你人生中最重要的决定是跟什么hl婚Q在选择伴G上,如果你错了,让你损失很多。而且Q损׃仅仅是金׃的。(BY巴菲特:l婚才是人生最大投资)</p> <p>31、盖?9岁成世界首富Q陈天桥31岁成中国首富Q孙中山28岁创办兴中会Q王?3岁当局长,孙权19岁据江东Q丁俊晖15岁拿世界冠军Q邓波儿7岁拿奥斯卡,贝多?岁开始作Ԍ葫芦娃刚出生打妖怪。你说我们急不急。《我实着急了Q?/p> <p>32、理查森Q男Q纽U。从1984qvq箋五次投资p|?007d破Q妻d散,朋友消遁Q唯有一条名叫JOOY的狗与其不离不弃Q忠伴左 ?陪理查森一同在U约的风雨街头乞讨。从“JOOY”安详恬静的睡姿中看得出它对主人的无限信Q和依靠。有的hQ在沧v变成桑田Ӟ表现得还不如一?狗。《认识的人多了,我就喜欢了狗?/p> <p>33?#8810;教父≫l典台词Q?、不要让别h知道你的x?2、当你说不时Q你要不听上去象是一样好听? 3、让朋友低估你的优点Q让敌h高估你的~点?、痛苦不象死亡那h可挽回!5、如果你没有旉和家人在一P你就永远无法成ؓ真正的男人? 6、永q不要恨你的敌h Q因会媄响你的判断力</p> <p>34、觉得自己做得到和做不到Q其实只在一念之间。自p先看得v自己Q别人才会看得v你。一切伟大的行动和思想Q都有一个微不道的开始。有理想 在的地方Q地狱就是天堂;有希望在的地方,痛苦也成Ƣ乐。乐观者在困难中看到机会;悲观者在Z中看到苦难。理想的路L为有信心的h预备着。-Q﹣李嘉 诚?/p> <p>35、女名叫?L?生在国堪萨斯?8岁的安在异族通婚非法的年代嫁l了一个非z黑人留学生。后来,安和丈夫d成了单n母亲Q她靠食品优 惠券生活Q是国Mpȝ受害者,在重病时x保险公司赔付。然而她的孩子,囄里装扮成L的小孩,日后成了利坚合众国W?4LȝQ巴拉克-奥巴 马。《不要因为出w而看不vM人!?/p> <p>36、阿c_汗,8岁时出演一部蘪动印度的电媄Q是公认的童星,长大后却一心打|球q获得过|球冠军?1岁爱上邻居家奛_Q由于宗教原因两人决?U奔Q现在过着q福满的生zR他是演?制片?导演?1届奥斯卡最佛_片《民窟的百万富》就是他担当的制片,2009q一部《三个白痴》震惊全 球,?5岁。《你怿坚持的力量么Q?/p> <p>37、陈佩斯Q因为央视出版他的小品而不l钱Q较真打官司Q遂被彻底封杀。此后陈消失Q陈夫妇上山U树Q脸朝黄土背朝天Q两q获?0万。陈佩斯?了,q想再演戏,可依旧被杀Q就?0万改演话剧,W一部舞台喜剧《托ѝ,在全国各地连l演120场,房q?000万元Q创造了当今话剧界无?越的神话。《我想说一句话Q是金子在哪都发光。。。?/p> <p>38、她Q?7岁,癌症晚期。他Q?2岁,为筹qҎ病,盗窃一辆电动自行R而入狱,刑期4q?010q?1?2日,他两人在监狱里D行了 单的婚礼Q但q场童话般的婚礼Q却让在场的数百位嘉宾感动得潸然泪下。偷辆电动R刑期4q_李刚儿子撞死人才3q。无语!一条h命还不如架电动单车。《生 zdq个让h苦恼的社会。。。?/p> <p>39、天下只有两Uh。比如一串葡萄到手,一Uh挑最好的先吃Q另一Uh把最好的留到最后吃。照例第一Uh应该乐观Q因Z每吃一颗都是吃剩的葡萄 里最好的Q第二种人应该悲观,因ؓ他每吃一颗都是吃剩的葡萄里最坏的。不q事实却适得其反Q缘故是W二Uhq有希望Q第一Uh只有回忆?#8212;—钱钟书。《你 是哪UhQ?/p> <p>40、他n于书香门W,父亲是大学教授。他为爱妻,20q来从不上CCAVQ他是个好爸爸;他顾Ӟ厌恶应酬Q滴酒不沾;他才华横溢,琴棋书画?L通,学生时是体育全能Q探戈高手;他饱读诗书,季M林赞他可胜Q北大的研I生导师Q曾与钱钟书是忘q之交,他说他只是个戏子。他是陈道明。一个很l?力的男h?/p> <p>41、旧上v黑社会老大杜月W的l典语录Q?、做人有三碗面最隑֐Qh面、场面、情面?、头{hQ有本事没脾气;二等人,有本事有脾气Q末{hQ?没本事大脾气?、h可以不识字,但不能不识h?、钱财用的完Q交情吃不光。所以别人存钱,我存交情。存钱再多不q金山银P交情用v来好比天地难量?/p> <p>42、成功根本没有秘诀Q如果有的话Q就?有两个:W一个是坚持到底Q永不放弃;W二个就是当你想攑ּ的时候,请回q头来再照着W一个秘诀d?#8212;—丘吉?/p> <p>43、他Q?1岁,生意p|?2岁,州议员落选?4岁,生意再|?6岁,׃GM?7岁,一度精崩溃?6岁,众议员落选?5岁,参议 员落选?7岁,提名副ȝ落选?9岁时Q参议员落选?2岁,当选美国第十六Lȝ。他叫林肯,坚信上帝的gq,q不是上帝的拒绝Q最l成׃凡?/p> <p>44、善良的苏格兰农夫从_池救出一个小男孩Q男孩的l士父亲酬谢Q农夫拒。绅士说Q让我们{个协议Q我带走你的孩子Q给他最好的教育Q农夫允。农 夫的孩子后来发明了青霉素Q获得诺贝尔奖。数q后Q绅士的儿子得了肺炎Q青霉素d了他。这两个孩子分别是弗莱明和丘吉尔?《冥冥之中,自有天意?/p><img src ="http://www.tkk7.com/cuke/aggbug/366427.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/cuke/" target="_blank">H.C</a> 2011-12-15 13:36 <a href="http://www.tkk7.com/cuke/archive/2011/12/15/366427.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何建立Linux下的ARM交叉~译环境http://www.tkk7.com/cuke/archive/2011/12/05/365533.htmlH.CH.CMon, 05 Dec 2011 01:14:00 GMThttp://www.tkk7.com/cuke/archive/2011/12/05/365533.htmlhttp://www.tkk7.com/cuke/comments/365533.htmlhttp://www.tkk7.com/cuke/archive/2011/12/05/365533.html#Feedback0http://www.tkk7.com/cuke/comments/commentRss/365533.htmlhttp://www.tkk7.com/cuke/services/trackbacks/365533.html最单的Ҏ是下蝲一个buildtoolchain.tar.gz安装p了,有时候就是想自己亲n体验一下安装定制过E,Linux的乐也在这炏V从|上搜集了些资料Q以备日后查阅?nbsp;   
如何为嵌入式开发徏立交叉编译环?/p>


 


  
 
< language=java type=text/java script>      
 
 


 
梁元?, 软g工程?/p>


2005 q?9 ?

        在进行嵌入式开发之前,首先要徏立一个交叉编译环境,q是一套编译器、连接器和libc库等l成的开发环境。文章通过一个具体的例子说明了这些嵌入式交叉~译开发工L制作q程?/p>

随着消费cȝ子品的大量开发和应用和Linux操作pȝ的不断健壮和强大Q嵌入式pȝ来多的进入h们的生活之中Q应用范围越来越qѝ?/p>

在裁减和定制LinuxQ运用于你的嵌入式系l之前,׃一般嵌入式开发系l存储大有限,通常你都要在你的强大的pcZ建立一个用于目标机的交 叉编译环境。这是一个由~译器、连接器和解释器l成的综合开发环境。交叉编译工具主要由 binutils、gcc ?glibc 几个部分l成。有时出于减?libc 库大的考虑Q你也可以用别的 c 库来代替 glibcQ例?uClibc、dietlibc ? newlib。徏立一个交叉编译工具链是一个相当复杂的q程Q如果你不想自己l历复杂的编译过E,|上有一些编译好的可用的交叉~译工具铑֏以下载?/p>

下面我们以建立针对arm的交叉编译开发环境ؓ例来解说整个q程Q其他的体系l构与这个相cMQ只要作一些对应的改动。我的开发环境是Q宿L i386-redhat-7.2Q目标机 arm?/p>

q个q程如下

1. 下蝲源文件、补丁和建立~译的目?/p>

2. 建立内核头文?/p>

3. 建立二进制工PbinutilsQ?/p>

4. 建立初始~译器(bootstrap gccQ?/p>

5. 建立c?glibc)

6. 建立全套~译器(full gccQ?/p>

下蝲源文件、补丁和建立~译的目?/p>

1. 选定软g版本?/p>

选择软g版本hQ先看看glibc源代码中的INSTALL文g。那里列举了该版本的glibc~译时所需的binutils 和gcc的版本号。例如在 glibc-2.2.3/INSTALL 文g中推?gcc ?2.95以上Qbinutils ?2.10.1 以上版本?/p>

我选的各个软g的版本是Q?/p>

linux-2.4.21+rmk2
binutils-2.10.1
gcc-2.95.3
glibc-2.2.3
glibc-linuxthreads-2.2.3

如果你选的glibc的版本号低于2.2Q你q要下蝲一个叫glibc-crypt的文Ӟ例如glibc-crypt-2.1.tar.gz?Linux 内核你可以从www.kernel.org 或它的镜像下载?/p>

Binutils、gcc和glibc你可以从FSF的FTP站点ftp://ftp.gun.org/gnu/ 或它的镜像去下蝲。在~译glibcӞ要用?Linux 内核中的 include 目录的内核头文g。如果你发现有变量没有定义而导致编译失败,你就改变你的内核版本受例如我开始用linux-2.4.25+vrs2Q编?glibc-2.2.3 时报 BUS_ISA 没定义,后来发现?2.4.23 开始它的名字被改ؓ CTL_BUS_ISA。如果你没有完全的把握保证你改的内核改完全了Q就不要动内核,而是把你?Linux 内核的版本号降低或升高,来适应 glibc?/p>

Gcc 的版本号Q推荐用 gcc-2.95 以上的。太老的版本~译可能会出问题。Gcc-2.95.3 是一个比较稳定的版本Q也是内核开发h员推荐用的一?gcc 版本?/p>

如果你发现无法编译过去,有可能是你选用的Y件中有的加入了一些新的特性而其他所选Y件不支持的原因,q应降低该软g的版本号。例如我开始用 gcc-3.3.2Q发现编译不q,?as、ld {版本太老,我就?gcc 降ؓ 2.95.3。太新的版本大多没经q大量的试Q徏议不要选用?/p>


 
 

2. 建立工作目录

首先Q我们徏立几个用来工作的目录Q?/p>

在你的用L录,我用的是用户liangQ因此用L录ؓ /home/liangQ先建立一个项目目录embedded?/p>

$pwd 
/home/liang
$mkdir embedded
 


再在q个目目录 embedded 下徏立三个目?build-tools、kernel ?tools?/p>

build-tools-用来存放你下载的 binutils、gcc ?glibc 的源代码和用来编译这些源代码的目录?/p>

kernel-用来存放你的内核源代码和内核补丁?/p>

tools-用来存放~译好的交叉~译工具和库文g?/p>

$cd embedded
$mkdir  build-tools kernel tools
 


执行完后目录l构如下Q?/p>

$ls embedded
build-tools kernel tools
 


3. 输出和环境变?/p>

我们输出如下的环境变量方便我们编译?/p>

$export PRJROOT=/home/liang/embedded
$export TARGET=arm-linux
$export PREFIX=$PRJROOT/tools
$export TARGET_PREFIX=$PREFIX/$TARGET
$export PATH=$PREFIX/bin:$PATH
 


如果你不惯用环境变量的,你可以直接用l对或相对\径。我如果不用环境变量Q一般都用绝对\径,相对路径有时会失败。环境变量也可以定义?bashrc文g中,q样当你logout或换了控制台Ӟ׃用老是exportq些变量了?/p>

体系l构和你的TAEGET变量的对应如下表


 

你可以在通过glibc下的config.sub脚本来知道,你的TARGET变量是否被支持,例如Q?/p>

$./config.sub  arm-linux
arm-unknown-linux-gnu
 


在我的环境中Qconfig.sub ?glibc-2.2.3/scripts 目录下?/p>

|上q有一?HOWTO 可以参考,ARM 体系l构的《The GNU Toolchain for ARM Target HOWTO》,PowerPC 体系l构的《Linux for PowerPC Embedded Systems HOWTO》等。对TARGET的选取可能有帮助?/p>

4. 建立~译目录

Z把源码和~译时生成的文g分开Q一般的~译工作不在的源码目录中Q要另徏一个目录来专门用于~译。用以下的命令来建立~译你下载的binutils、gcc和glibc的源代码的目录?/p>

$cd $PRJROOT/build-tools
$mkdir build-binutils build-boot-gcc build-gcc build-glibc gcc-patch
 


build-binutils-~译binutils的目?br />build-boot-gcc-~译gcc 启动部分的目?br />build-glibc-~译glibc的目?br />build-gcc-~译gcc 全部的目?br />gcc-patch-放gcc的补丁的目录

gcc-2.95.3 的补丁有 gcc-2.95.3-2.patch、gcc-2.95.3-no-fixinc.patch 和gcc-2.95.3-returntype-fix.patchQ可以从 http://www.linuxfromscratch.org/ 下蝲到这些补丁?/p>

再将你下载的 binutils-2.10.1、gcc-2.95.3、glibc-2.2.3 ?glibc-linuxthreads-2.2.3 的源代码攑օ build-tools 目录?/p>

看一下你?build-tools 目录Q有以下内容Q?/p>

$ls
binutils-2.10.1.tar.bz2     build-gcc   gcc-patch
build-binutls            build-glibc          glibc-2.2.3.tar.gz
build-boot-gcc           gcc-2.95.3.tar.gz glibc-linuxthreads-2.2.3.tar.gz
 


 
 

建立内核头文?/p>

把你?www.kernel.org 下蝲的内核源代码攑օ $PRJROOT /kernel 目录

q入你的 kernel 目录Q?/p>

$cd $PRJROOT /kernel
 


解开内核源代?/p>

$tar -xzvf linux-2.4.21.tar.gz
 


?/p>

$tar -xjvf linux-2.4.21.tar.bz2
 


于 2.4.19 的内核版本解开会生成一?linux 目录Q没带版本号Q就其改名?/p>

$mv linux linux-2.4.x
 


l?Linux 内核打上你的补丁

$cd linux-2.4.21
$patch -p1 < ../patch-2.4.21-rmk2
 


~译内核生成头文?/p>

$make ARCH=arm CROSS_COMPILE=arm-linux- menuconfig

你也可以?config ?xconfig 来代? menuconfigQ但q样用可能会没有讄某些配置文g选项和没有生成下面编译所需的头文g。推荐大家用 make menuconfigQ这也是内核开发h员用的最多的配置Ҏ。配|完退出ƈ保存Q检查一下的内核目录中的 include/linux/version.h ?include/linux/autoconf.h 文g是不是生成了Q这是编?glibc 是要用到的,version.h ?autoconf.h 文g的存在,也说明了你生成了正确的头文g?/p>

q要建立几个正确的链?/p>

$cd include
$ln -s asm-arm asm
$cd asm
$ln -s arch-epxa arch
$ln -s proc-armv proc
 


接下来ؓ你的交叉~译环境建立你的内核头文件的链接

$mkdir -p $TARGET_PREFIX/include
$ln -s $PRJROOT/kernel/linux-2.4.21/include/linux  $TARGET_PREFIX/include/linux
$in -s $PRJROOT/kernel/linux-2.4.21/include/asm-arm  $TARGET_PREFIX/include/asm
 


也可以把 Linux 内核头文件拷贝过来用

$mkdir -p $TARGET_PREFIX/include
$cp -r $PRJROOT/kernel/linux-2.4.21/include/linux  $TARGET_PREFIX/include
$cp -r $PRJROOT/kernel/linux-2.4.21/include/asm-arm  $TARGET_PREFIX/include  
 


 
 

建立二进制工PbinutilsQ?/p>

binutils是一些二q制工具的集合,其中包含了我们常用到的as和ld?/p>

首先Q我们解压我们下载的binutils源文件?/p>

$cd $PRJROOT/build-tools
$tar -xvjf binutils-2.10.1.tar.bz2
 


然后q入build-binutils目录配置和编译binutils?/p>

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


--target 选项是指出我们生成的?arm-linux 的工P--prefix 是指出我们可执行文g安装的位|?/p>

会出现很?checkQ最后?Makefile 文g?/p>

有了 Makefile 后,我们来编译ƈ安装 binutilsQ命令很单?/p>

$make
$make install
 


看一下我?$PREFIX/bin 下的生成的文?/p>

$ls $PREFIX/bin
arm-linux-addr2line arm-linux-gasp arm-linux-objdump  arm-linux-strings
arm-linux-ar   arm-linux-ld  arm-linux-ranlib  arm-linux-strip
arm-linux-as   arm-linux-nm  arm-linux-readelf 
arm-linux-c++filt  arm-linux-objcopy arm-linux-size
 


我们来解释一下上面生成的可执行文仉是用来干什么的

add2line - 你要找的地址转成文g和行P它要使用 debug 信息?/p>

Ar-产生、修改和解开一个存档文?/p>

As-gnu 的汇~器

C++filt-C++ ?java 中有一U重载函敎ͼ所用的重蝲函数最后会被编译{化成汇编的标Pc++filt 是实现q种反向的{化,Ҏ标号得到函数名?/p>

Gasp-gnu 汇编器预~译器?/p>

Ld-gnu 的连接器

Nm-列出目标文g的符号和对应的地址

Objcopy-某U格式的目标文g转化成另外格式的目标文g

Objdump-昄目标文g的信?/p>

Ranlib-Z个存档文件生一个烦引,q将q个索引存入存文g?/p>

Readelf-昄 elf 格式的目标文件的信息

Size-昄目标文g各个节的大小和目标文件的大小

Strings-打印出目标文件中可以打印的字W串Q有个默认的长度Qؓ4

Strip-剥掉目标文g的所有的W号信息


 
 

建立初始~译器(bootstrap gccQ?/p>

首先q入 build-tools 目录Q将下蝲 gcc 源代码解?/p>

$cd $PRJROOT/build-tools
$tar -xvzf  gcc-2.95.3.tar.gz
 


然后q入 gcc-2.95.3 目录l?gcc 打上补丁

$cd gcc-2.95.3
$patch -p1< ../gcc-patch/gcc-2.95.3.-2.patch
$patch -p1< ../gcc-patch/gcc-2.95.3.-no-fixinc.patch
$patch -p1< ../gcc-patch/gcc-2.95.3-returntype-fix.patch
echo timestamp > gcc/cstamp-h.in
 


在我们编译ƈ安装 gcc 前,我们先要改一个文?$PRJROOT/gcc/config/arm/t-linuxQ把
TARGET_LIBGCC2-CFLAGS = -fomit-frame-pointer -fPIC
q一行改?br />TARGET_LIBGCC2-CFLAGS = -fomit-frame-pointer -fPIC -Dinhibit_libc -D__gthr_posix_h

你如果没定义 -DinhibitQ编译时会报如下的错误

http://www.cnblogs.com/gcc-2.95.3/gcc/libgcc2.c:41: stdlib.h: No such file or directory
http://www.cnblogs.com/gcc-2.95.3/gcc/libgcc2.c:42: unistd.h: No such file or directory
make[3]: *** [libgcc2.a] Error 1
make[2]: *** [stmp-multilib-sub] Error 2
make[1]: *** [stmp-multilib] Error 1
make: *** [all-gcc] Error 2
 


如果没有定义 -D__gthr_posix_hQ编译时会报如下的错?/p>

In file included from gthr-default.h:1,
                 from http://www.cnblogs.com/gcc-2.95.3/gcc/gthr.h:98,
                 from http://www.cnblogs.com/gcc-2.95.3/gcc/libgcc2.c:3034:
http://www.cnblogs.com/gcc-2.95.3/gcc/gthr-posix.h:37: pthread.h: No such file or directory
make[3]: *** [libgcc2.a] Error 1
make[2]: *** [stmp-multilib-sub] Error 2
make[1]: *** [stmp-multilib] Error 1
make: *** [all-gcc] Error 2
 


q有一U与-Dinhibit同等效果的方法,那就是在你配|configure时多加一个参?with-newlibQ这个选项不会q我们必须使用newlib。我们编译了bootstrap-gcc后,仍然可以选择Mc库?/p>

接着是配置boostrap gccQ?后面要用bootstrap gcc 来编?glibc 库?/p>

$cd ..; cd build-boot-gcc
$../gcc-2.95.3/configure --target=$TARGET --prefix=$PREFIX \
>--without-headers  --enable-languages=c --disable-threads
 


q条命o中的 -target?-prefix 和配|?binutils 的含义是相同的,--without-headers 是指不需要头文gQ因为是交叉~译工具Q不需要本Z的头文g?enable-languages=c是指我们?boot-gcc 只支?c 语言?-disable-threads 是去?thread 功能Q这个功能需?glibc 的支持?/p>

接着我们~译q安?boot-gcc

$make all-gcc
$make install-gcc
 


我们来看?$PREFIX/bin 里面多了哪些东西

$ls $PREFIX/bin
 


你会发现多了 arm-linux-gcc 、arm-linux-unprotoize、cpp ?gcov 几个文g?/p>

Gcc-gnu ?C 语言~译?/p>

Unprotoize-?ANSI C 的源码{化ؓ K&R C 的Ş式,L函数原型中的参数cd?/p>

Cpp-gnu?C 的预~译?/p>

Gcov-gcc 的辅助测试工P可以用它来分析和优程序?/p>

使用 gcc3.2 以及 gcc3.2 以上版本Ӟ配置 boot-gcc 不能使用 --without-headers 选项Q而需要?glibc 的头文g?/p>


 
 

建立 c ?glibc)

首先解压 glibc-2.2.3.tar.gz ?glibc-linuxthreads-2.2.3.tar.gz 源代?/p>

$cd $PRJROOT/build-tools
$tar -xvzf glibc-2.2.3.tar.gz
$tar -xzvf glibc-linuxthreads-2.2.3.tar.gz --directory=glibc-2.2.3
 


然后q入 build-glibc 目录配置 glibc

$cd build-glibc
$CC=arm-linux-gcc ../glibc-2.2.3/configure --host=$TARGET --prefix="/usr"
--enable-add-ons --with-headers=$TARGET_PREFIX/include
 


CC=arm-linux-gcc 是把 CC 变量设成你刚~译完的boostrap gccQ用它来~译你的glibc?-enable-add-ons是告诉glibc?linuxthreads 包,在上面我们已l将它放入了 glibc 源码目录中,q个选项{h?-enable-add-ons=linuxthreads?-with-headers 告诉 glibc 我们的linux 内核头文件的目录位置?/p>

配置完后可以编译和安装 glibc

$make
$make install_root=$TARGET_PREFIX prefix="" install
 


然后你还要修?libc.so 文g

?br />GROUP ( /lib/libc.so.6 /lib/libc_nonshared.a)

改ؓ
GROUP ( libc.so.6 libc_nonshared.a)

q样q接E序 ld ׃?libc.so 所在的目录查找它需要的库,因ؓ你的机子?lib目录可能已经装了一个相同名字的库,一个ؓ~译可以在你的宿L上运行的E序的库Q而不是用于交叉编译的?/p>


 
 

建立全套~译器(full gccQ?/p>

在徏立boot-gcc 的时候,我们只支持了C。到q里Q我们就要徏立全套编译器Q来支持C和C++?/p>

$cd $PRJROOT/build-tools/build-gcc
$../gcc-2.95.3/configure --target=$TARGET --prefix=$PREFIX --enable-languages=c,c++
 


--enable-languages=c,c++ 告诉 full gcc 支持 c ?c++ 语言?/p>

然后~译和安装你?full gcc

$make all
$make install
 


我们再来看看 $PREFIX/bin 里面多了哪些东西

$ls $PREFIX/bin
 


你会发现多了 arm-linux-g++ 、arm-linux-protoize ?arm-linux-c++ 几个文g?/p>

G++-gnu?c++ ~译器?/p>

Protoize-与Unprotoize相反Q将K&R C的源码{化ؓANSI C的Ş式,函数原型中加入参数类型?/p>

C++-gnu ?c++ ~译器?/p>

到这里你的交叉编译工具就做完了Q简单验证一下你的交叉编译工兗?/p>

用它来编译一个很单的E序 helloworld.c

Qi nclude

int main(void)
{
 printf("hello world\n");
 return 0;
}

$arm-linux-gcc helloworld.c -o helloworld
$file helloworld
helloworld: ELF 32-bit LSB executable, ARM, version 1,
dynamically linked (uses shared libs), not stripped
 


上面的输明你~译了一个能?arm 体系l构下运行的 helloworldQ证明你的编译工具做成功了?img src ="http://www.tkk7.com/cuke/aggbug/365533.html" width = "1" height = "1" />

H.C 2011-12-05 09:14 发表评论
]]>
javaW记http://www.tkk7.com/cuke/archive/2011/11/24/364758.htmlH.CH.CThu, 24 Nov 2011 09:55:00 GMThttp://www.tkk7.com/cuke/archive/2011/11/24/364758.htmlhttp://www.tkk7.com/cuke/comments/364758.htmlhttp://www.tkk7.com/cuke/archive/2011/11/24/364758.html#Feedback1http://www.tkk7.com/cuke/comments/commentRss/364758.htmlhttp://www.tkk7.com/cuke/services/trackbacks/364758.html
弹出警告H口
        String tf1=this.jTextField1.getText();
String tf2
=this.jTextField2.getText();
if(!(tf1.equals("")||tf1.charAt(0)== ' '||(int)tf1.charAt(0)==10||tf2.equals("")||tf2.charAt(0)== ' '||(int)tf2.charAt(0)==10)){
//如果用户名,密码输入不ؓI,执行操作
}
else
JOptionPane.showMessageDialog(
null, "输入为空Q?","警告 ",JOptionPane.WARNING_MESSAGE);//若输入ؓI或W一个字WؓI格或者回车,则弹告窗?/span>


H.C 2011-11-24 17:55 发表评论
]]>
java 日期处理http://www.tkk7.com/cuke/archive/2011/11/23/364667.htmlH.CH.CWed, 23 Nov 2011 12:34:00 GMThttp://www.tkk7.com/cuke/archive/2011/11/23/364667.htmlhttp://www.tkk7.com/cuke/comments/364667.htmlhttp://www.tkk7.com/cuke/archive/2011/11/23/364667.html#Feedback0http://www.tkk7.com/cuke/comments/commentRss/364667.htmlhttp://www.tkk7.com/cuke/services/trackbacks/364667.htmlimport java.util.*;
import java.text.SimpleDateFormat;

public class test{
    Date date = new Date();
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
    System.out.println(df.format(date));
    date.getTime()   //q回?970-1-1 零时到现在的毫秒?br />   
    df.parse("2011-11-23")  //字W串转换为Datecd
    df.format(date)         //Datecd转换为字W串cd

    date.getTime()  < date1.getTime()   //比较两个日期的大?br />
    (date.getTime() - date1.getTime())/(1000*60*60*24)  // 两个日期相差的天?br />
?img src ="http://www.tkk7.com/cuke/aggbug/364667.html" width = "1" height = "1" />

H.C 2011-11-23 20:34 发表评论
]]>
grub manhttp://www.tkk7.com/cuke/archive/2011/11/15/363873.htmlH.CH.CTue, 15 Nov 2011 13:00:00 GMThttp://www.tkk7.com/cuke/archive/2011/11/15/363873.htmlhttp://www.tkk7.com/cuke/comments/363873.htmlhttp://www.tkk7.com/cuke/archive/2011/11/15/363873.html#Feedback0http://www.tkk7.com/cuke/comments/commentRss/363873.htmlhttp://www.tkk7.com/cuke/services/trackbacks/363873.html
grub> root (hd0,0)    //指定现在根目录,后面的操作都是在q个分区里进行的?br />                        //grub以发现磁盘的序命名hd0是第一块磁盘,hd1是第二块盘。第一分区?Q第二分Zؓ1。hd0Q?是第一块磁盘的W一分区?br />grub>setup(hd0)       //把grub的stage1写入W一块磁盘的MBRQ也可以用Install具体看HELP。在/boot/grub文g多w有stage1 ,stage2文g?br />
grub配置

grub启动菜单由menu.lst配置

default 0    //默认启动W一?br />timeout     //{待旉

title        ubutun8.04    //菜单中显C的标题
root       Qhd0,0)      //同上
kernel      /boot/vmlinuz   root= /dev/sda0  ro quiet   //同下

直接从GRUB命o行启动系l?br />
grub>root(hd0,0)      //同上
grub>kernel  /boot/vmlinuz.2.6.24-29  root=/dev/sda0 ro quiet   //要load的内怽|。root是启动后真文件系l的根目录。ro 挂蝲为只L式。quiet 安静模式Q不回显?br />grub>initrd   /boot/initrd.2.6.24-29     //ramfs文gpȝ的压~文Ӟq个可以自己制作?br />grub>boot           //启动

q是自己写的W记Q只作参考。如有不Ҏh正?br />

H.C 2011-11-15 21:00 发表评论
]]>
.切换到kdm和gdmhttp://www.tkk7.com/cuke/archive/2011/11/14/363709.htmlH.CH.CMon, 14 Nov 2011 11:38:00 GMThttp://www.tkk7.com/cuke/archive/2011/11/14/363709.htmlhttp://www.tkk7.com/cuke/comments/363709.htmlhttp://www.tkk7.com/cuke/archive/2011/11/14/363709.html#Feedback0http://www.tkk7.com/cuke/comments/commentRss/363709.htmlhttp://www.tkk7.com/cuke/services/trackbacks/363709.html.切换到kdm和gdm的方法是Q?br /> sudo dpkg-reconfigure gdm
sudo dpkg-reconfigure kdm

1.假如需要切换到GNOMEQ?/p>

#switchdesk gnome

2.假如需要切换到KDEQ?/p>

#switchdesk kde

删除kubuntu开机画?/span>
sudo apt-get --purge plymouth-theme-kubuntu-logo



H.C 2011-11-14 19:38 发表评论
]]>
linux umlhttp://www.tkk7.com/cuke/archive/2011/11/14/363660.htmlH.CH.CMon, 14 Nov 2011 02:42:00 GMThttp://www.tkk7.com/cuke/archive/2011/11/14/363660.htmlhttp://www.tkk7.com/cuke/comments/363660.htmlhttp://www.tkk7.com/cuke/archive/2011/11/14/363660.html#Feedback0http://www.tkk7.com/cuke/comments/commentRss/363660.htmlhttp://www.tkk7.com/cuke/services/trackbacks/363660.htmlyEd Graph Editor

H.C 2011-11-14 10:42 发表评论
]]>
ubuntu 桌面位置http://www.tkk7.com/cuke/archive/2011/11/12/363585.htmlH.CH.CSat, 12 Nov 2011 09:09:00 GMThttp://www.tkk7.com/cuke/archive/2011/11/12/363585.htmlhttp://www.tkk7.com/cuke/comments/363585.htmlhttp://www.tkk7.com/cuke/archive/2011/11/12/363585.html#Feedback0http://www.tkk7.com/cuke/comments/commentRss/363585.htmlhttp://www.tkk7.com/cuke/services/trackbacks/363585.html

H.C 2011-11-12 17:09 发表评论
]]>
ubuntu 中文qhttp://www.tkk7.com/cuke/archive/2011/11/12/363565.htmlH.CH.CSat, 12 Nov 2011 02:03:00 GMThttp://www.tkk7.com/cuke/archive/2011/11/12/363565.htmlhttp://www.tkk7.com/cuke/comments/363565.htmlhttp://www.tkk7.com/cuke/archive/2011/11/12/363565.html#Feedback1http://www.tkk7.com/cuke/comments/commentRss/363565.htmlhttp://www.tkk7.com/cuke/services/trackbacks/363565.html执行 sudo vi /var/lib/locales/supported.d/zh
加入以下配置参数
zh_CN.GB18030 GB18030 (最新汉字编码字W集Q向下兼容GBK,GB2312)
zh_CN.GBK GBK (汉字扩展~码,向下兼容GB2312, q包含BIG5全部汉字)
zh_CN.GB2312 GB2312 (化汉字编码字W集, 最q有客户要我们改qGB2312,太看得v我们了,我只能说:"NO!")
zh_CN.GB18031 GB18031 (数字键盘汉字~码输入,面向手持讑֤Q我的Nokia3120从来是发短信,接听电话Q无法和PC通讯Q就不用q个了。maybe用Google Android SDK的大侠们需要这?
zh_HK.BIG5 BIG5 (J体)
zh_TW.BIG5 BIG5 (J体)
然后执行 sudo locale-gen 
提示以下信息Q成功了
zh_CN.GB18030... done
zh_CN.GBK... done



e.g. vi
执行 sudo vi /etc/vim/vimrc 
加入以下配置参数
let &termencoding=&encoding
set fileencodings=utf-8,gb18030,gbk,gb2312,big5


最好是系l的默认~码讄?GBK, q样?Windows 下面的开发环境最接近. 讄的方法应该不止一U? 我采用的是编?/etc/environment, Ҏq个样子:
  LANGUAGE="zh_CN:zh:en_US:en"
GST_ID3_TAG_ENCODING=GBK
LANG=zh_CN.GBK
LC_CTYLE=zh_CN.GBK




H.C 2011-11-12 10:03 发表评论
]]>
bash scripthttp://www.tkk7.com/cuke/archive/2011/11/11/363489.htmlH.CH.CFri, 11 Nov 2011 02:06:00 GMThttp://www.tkk7.com/cuke/archive/2011/11/11/363489.htmlhttp://www.tkk7.com/cuke/comments/363489.htmlhttp://www.tkk7.com/cuke/archive/2011/11/11/363489.html#Feedback0http://www.tkk7.com/cuke/comments/commentRss/363489.htmlhttp://www.tkk7.com/cuke/services/trackbacks/363489.html反短斜线
使用反短斜线可以一个命令的输出作ؓ另外一个命令的一个命令行参数?
命oQ?
find . -mtime -1 -type f -print
用来查找q去24时Q?mtime –2则表C?8时Q内修改q的文g。如果您惛_所有查扑ֈ的文件打一个包Q则可以使用以下脚本Q?
#!/bin/sh
# The ticks are backticks (`) not normal quotes ('):
tar -zcvf lastmod.tar.gz `find . -mtime -1 -type f -print`

程控制

"if" 表达?如果条g为真则执行then后面的部分:
if ....; then
....
elif ....; then
....
else
....
fi
大多数情况下Q可以用测试命令来Ҏ件进行测试。比如可以比较字W串、判断文件是否存在及是否可读{等…
通常? [ ] "来表C条件测试。注意这里的I格很重要。要保ҎLI格?
[ -f "somefile" ] Q判断是否是一个文?
[ -x "/bin/ls" ] Q判?bin/ls是否存在q有可执行权?
[ -n "$var" ] Q判?var变量是否有?
[ "$a" = "$b" ] Q判?a?b是否相等

case ... in
...) do something here ;;
esac
#!/bin/sh
ftype=`file "$1"`
case "$ftype" in
"$1: Zip archive"*)
unzip "$1" ;;
"$1: gzip compressed"*)
gunzip "$1" ;;
"$1: bzip2 compressed"*)
bunzip2 "$1" ;;
*) error "File $1 can not be uncompressed with smartzip";;
esac

select var in ... ; do
break
done

#!/bin/sh
echo "What is your favourite OS?"
select var in "Linux" "Gnu Hurd" "Free BSD" "Other"; do
break
done
echo "You have selected $var"

while ...; do
....
done

for var in ....; do
....
done

for var in ....; do
....
done

下面是一个更为有用的脚本showrpmQ其功能是打C些RPM包的l计信息Q?
#!/bin/sh
# list a content summary of a number of RPM packages
# USAGE: showrpm rpmfile1 rpmfile2 ...
# EXAMPLE: showrpm /cdrom/RedHat/RPMS/*.rpm
for rpmpackage in $*; do
if [ -r "$rpmpackage" ];then
echo "=============== $rpmpackage =============="
rpm -qi -p $rpmpackage
else
echo "ERROR: cannot read file $rpmpackage"
fi
done
q里出现个特D的变量$*Q该变量包含了所有输入的命o行参数倹{如果您q行showrpm openssh.rpm w3m.rpm webgrep.rpm
此时 $* 包含?3 个字W串Q即openssh.rpm, w3m.rpm and webgrep.rpm.

Ҏ变量

$#参数个数
$*所有参?/div>


H.C 2011-11-11 10:06 发表评论
]]> վ֩ģ壺 ޾ƷƬ| ģ߹ۿ| 㽶Ƶ| ֻˬ͵Ƶ | һëƬ޶| ޾ƷҾþþþþ| ߹ۿƬ˳Ƶ| ŮþþŮ| aëƬ| ƵƷ| ëƬ| óۺ| ޹˾Ʒ91þþ| fc2ѹƵվ| ޹Ʒ˾Ʒ| ձƵ| ޹Ʒվþ| ھƷƵ| һëƬѲ| þþƷƷ| 97Ƶ˾Ʒ| þþƷAVδʮ| С˵ͼƬ| 99ƵƷȫѹۿ| ˳ɵӰվɫwww| һ߲| ˾þAV| һŷ| СƵѹۿ| þѹƵ| ˳ɫ777777ͷ| ޾Ʒ| һ߹ۿ| AVרAV鶹Ѿ| ƷAò| ŷߵӰ| һԻƬ| AVһ | պһ| 1000ƬƵѿ| ɫ˿ѿ|