设为首页 收藏本站
查看: 985|回复: 0

[经验分享] shell、perl和python的简单对比

[复制链接]

尚未签到

发表于 2018-8-4 12:49:13 | 显示全部楼层 |阅读模式
自己总结的shell、perl和python的简单对比,欢迎交流! 【输出】Shell:echo "hello,world"Perl:print “hello,world”Python:print "hello,world"【变量定义】Shell:name=oudemen     echo $nameperl:  $name 标量   print $name
@names 数组%name 哈希变量Python:name=oudemen        Print name name=[] 普通链表,元素可变name=()固定数组,元素个数不可变name={m,n} 哈希数组【子程序/函数】Shell:  function 函数名()
{  语句块;
Return();         }  调用函数名 arg1,agr2,…
perl:  sub 子程序名{
  my ($参数1,$参数2,$参数3)=@_;
语句块;                   Return(返回值);         }  调用子程序 &子程序名
Python:  def 函数名(arg1,arg2,…argn):
……(注意,一定要有缩进[空格或者tab])          ……         Return(x)  调用函数         函数名(arg1,arg2,…argn)
【if条件判断】Shell:  if [条件表达式]
then  条件为真command
else  条件为假command
fiperl:  if(条件表达式)
{                   表达式为真的语句块;         }  或者         表达式为真的语句块 if 条件表达式;
  或者         条件表达式&&表达式为真的语句块;
  if(条件表达式){
条件表达式为真时的语句块;         }else{                   条件表达式为假时的语句块;         }  或者         条件表达式?表达式1:表达式2  [如果条件表达式为真,执行表达式1,否则执行表达式2]
  if(条件表达式1)
{                   条件表达式1为真时的语句块;  }elsif(条件表达式2){
条件表达式2为真时的语句块;  }elsif(条件表达式3){
条件表达式3为真时的语句块;         }         ……         else{                   所以条件表达式为假时的语句块;         }Python:  if  条件表达式1:
  条件表达式1为真时的语句块
  elif 条件表达式2:
  条件表达式2为真时的语句块
  else:
  所以条件表达式为假时的语句块
【unless条件判断】Shell:无perl:  unless(条件表达式){
条件表达式为假执行的语句块;         }  或者         条件表达式为假执行的语句块 unless (条件表达式);、
  或者         条件表达式 || 条件表达式为假执行的语句块
  unless(条件表达式){
条件表达式为假时的语句块;         }else{                   条件表达式为真时的语句块;         }Python:无【循环控制--while】Shell{break跳出循环,continue跳出本次循环}:  While[条件表达式]
do  命令行
done  perl{ last退出循环,next终止本次循环,适用perl所有循环}:
  while(条件表达式){
语句块;         }  或者         {语句块}while(判别表达式)
do          {                   语句块;  }while(条件表达式) [跟while相比,do while保证语句块至少执行一次]
Python{break 跳出循环,continue结束本次循环}:  While条件表达式:
语句块         else:                   语句块【循环控制until】Shell:  until 条件表达式
do  条件为假执行的语句块
doneperl:  until( 条件表达式)
{                   语句块         }  或者         语句块 until(条件表达式);
do          {                   语句块;  }until(条件表达式)
Python:无【循环控制--for】Shell:  for((初始表达式;条件表达式;循环过程运算式));
do  语句块;
Done  for i in 文件或数组
do  语句块;
Doneperl:  for(初始表达式;条件表达式;循环过程运算式)
{                   语句块;         }  for 标量(数组变量)
{                   语句块;                  }  for  (数组变量)
{                   读取$_,处理数组相关的语句块;         }  foreach   标量(数组变量)
{                  语句块;         }  foreach   (数组变量)
{                  读取$_,处理数组相关的语句块;         }Python:         for i in range、数组或者字符串等                   语句块(此行要缩进)

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-546491-1-1.html 上篇帖子: python 字符串数组互转 下篇帖子: Python爬虫抓取csdn博客
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表