• Penetration Test


    Scripting languages comparison

    Comparing Scripting Languages
    Bash PowerShell Ruby Python
    Comments # # or <# #> # or =begin =end #
    Variables - assign varName=value $varName=value varName=value varName=value
    Variables - display echo $varName Write-Host $varName puts varName print(varName)
    Substitudion - environment variables $envVarName Get-item Env:varName ENV['varName'] Os.environ['varName']
    String length ${#string} (string).Length string.length len(string)
    String - substring ${string:position} (string).Substring(start,end) string[1..3] string[start:end+1]
    String - replace substring ${string/substring/replacement} (string).Replace.(substr,replStr) string[1..3] = replStr string.replace(old, new,count)
    AND/OR -a / -o -and, -or, -not ! and &&, or ||, not ! and, or, not
    Comparisons -eq(==), -ne(!=), -lt(<),-le(<=),-gt(>),-ge(>=) -eq,-ne,-gt,-ge,-lt,-le ==,!=,>,>=,<,<= ==,!=(<>),>,>=,<,<=
    Looping For For,While,Do-While,Do-Until while, until, for for, while
    Flow control if condition

    then

    commands

    elif

    commands

    else

    commands

    fi
    if (condition){

    statements

    }elseif(condition){

    statements

    }else{

    statements

    }
    if condition then

    statements

    elsif

    statements

    else

    statements

    end
    if condition:

    statements

    elif condition:

    statements

    else:

    statements
    Input - file Input="filename"
    While IFS=read -r f1 f2 f3
    (lines = Get-Content filename<br/>Out-File -FilePath filename -InputObject<br/>)lines - Encoding ASCII inFile = File.new("filename","r")
    inFile.each_line{|line|puts"#{line.dump}"}
    inFile.close
    f = open('inFile.txt','r')
    for line in f:
    do something here
    f.close()
    Input - terminal Read -p "Prompt:" var $firstName = Read-Host -Prompt'Enter first name' name = gets name = raw_input('Please enter your name')
    Input - network While read -r inline < dev/ttyS1 (socket = new-object<br/>System.Net.Socket.TcpClient()ip,(port)<br/>if()socket.Connected){} client = TCPSocket.open('hostname','port')
    Client.send("string",o)
    sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    If sock.connect_ex((remoteServerIP, port) )==0:
    print('Port {}: is Open'.format(port))
    Error handling If["$?" = "0"] then try{

    Command

    }

    catch{

    errHandling

    commands

    }
    begin

    statements

    rescue

    statements

    if error occurred

    else

    statements

    if no error

    end
    try:

    statements

    raise customErrorObject except errorObject:

    statements

    except customErrorObject:

    statements

    finally:

    statements to clean up
    Arrays bashArray = (val1, val2, val3)

    For i in 123

    Do

    echo ({bashArray[)i]}

    done
    (PSarray=@(1.3.5.7.9);<br/><br/>for ()i=0;$i -lt (PSarray.Length;)i++){

    (PSarray[)i]

    }

    foreach($element in $PSarray) {

    $element

    }
    rubyArray = ["val1","val2","val3"]

    print rubyArray[1]

    print rubyArray.index("val2")
    pythonArray = [10,20,30,40,50]

    Print(pythonArray[1])

    len(pythonArray)
    Encoding Echo plainText | base64 (Text = 'Hello world'<br/><br/>)Bytes = [System.Text.Encoding]::Unicode.GetByteps((Text)<br/><br/>)EncodedText = [Convert]::ToBase64String.($Bytes) Require "base64"

    encString = Base64.encode64('Hello World!')
    Import base64 encString = base64.encodestring('Hello World!')
    Decoding Echo encString | base64 --decode (EncodedText = 'encodeString'<br/><br/>)DecodedText = [System.Tet.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText)) plaintext = Base64.decode(enc) plaintext = base64.decodestring(encString)
    QUICK REVIEW
    • Recognize unique Bash script syntax - output(echo), error-handling("$?")
    • Recognize unique PowerShell script syntax - output (Write-Host), flow-control(elseif),error-handling(try/catch)
    • Recognize unique Ruby syntax - output(puts), flow-control(elsif),error-handling(rescue)
    • Recognize unique Python syntax - output(print), error-handling(try/except/finally)
    相信未来 - 该面对的绝不逃避,该执著的永不怨悔,该舍弃的不再留念,该珍惜的好好把握。
  • 相关阅读:
    Activity 横竖屏生命周期
    gradle wrapper, gradle ,gradle plugin 之间的关系
    《构建之法》第八、九章学习总结
    《构建之法》第六、七章学习总结
    《构建之法》第三、四、五章学习总结
    《构建之法》第一、二章学习总结
    SQL练习50题(基于MySQL)后25题
    SQL练习50题(基于MySQL)前25题
    轮播2-css
    轮播1-animate-匀速
  • 原文地址:https://www.cnblogs.com/keepmoving1113/p/14135517.html
Copyright © 2020-2023  润新知