shell、perl和python的简单

2023-01-31 05:01:30 shell perl 简单
自己总结shell、perl和python的简单对比,欢迎交流!
 
【输出】
Shell:echo "hello,world"
Perl:print “hello,world”
Python:print "hello,world"
【变量定义】
Shell:
name=oudemen     echo $name
perl:

$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

         fi
perl:

         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

                   条件为假执行的语句块

         done
perl:

         until( 条件表达式)

         {
                   语句块
         }

或者         语句块 until(条件表达式);

        
         do
         {
                   语句块;

         }until(条件表达式)

Python:无
【循环控制--for】
Shell:

         for((初始表达式;条件表达式;循环过程运算式));

         do

                   语句块;

         Done
        

         for i in 文件或数组

         do

                   语句块;

         Done
perl:

         for(初始表达式;条件表达式;循环过程运算式)

         {
                   语句块;
         }
        

         for 标量(数组变量)

         {
                   语句块;        
         }

         for  (数组变量)

         {
                   读取$_,处理数组相关的语句块;
         }
        

         foreach   标量(数组变量)

         {
                  语句块;
         }

         foreach   (数组变量)

         {
                  读取$_,处理数组相关的语句块;
         }
Python:
         for i in range、数组或者字符串
                   语句块(此行要缩进)
 
 

相关文章