GNU/Linux >> Belajar Linux >  >> Linux

Membuat kelas dan objek menggunakan skrip bash

Bash adalah bahasa skrip, yang tidak mendukung OOP, jadi Anda tidak bisa. Coba Python.

Satu-satunya hal lain yang dapat Anda lakukan adalah memiliki beberapa larik, tetapi itu berantakan. Gunakan indeks untuk menautkannya.


Jadi saya ingat memeriksa pertanyaan dan jawaban ini beberapa tahun yang lalu .. dan berpikir.... APA!?!?!

Kemudian minggu lalu saya melihat lebih dekat pada jawaban @Maxims dan kemudian menjadi jelas..

Saya telah menghabiskan minggu lalu dan membuat transpiler kelas bash dan pemuat kelas untuk objek kelas, dengan metode dan barang lainnya.. semua karena saya ingin membuat infrastruktur animasi terminal:

Jadi, meskipun ini baru permulaan, menurut saya ini adalah petualangan yang SANGAT keren dan menantang.. Saya harap kode saya juga dapat membantu orang lain!!

BTW:Diuji hanya pada MAC OS jadi beberapa penyesuaian mungkin diperlukan :)


Anda dapat mencoba melakukan hal seperti ini

contoh.sh

#!/bin/bash

# include class header
. obj.h
. system.h

# create class object
obj myobject

# use object method
myobject.sayHello

# use object property
myobject.fileName = "file1"

system.stdout.printString "value is"
system.stdout.printValue myobject.fileName

obj.h

obj(){
    . <(sed "s/obj/$1/g" obj.class)
}

obj.kelas

# Class named "obj" for bash Object

# property
obj_properties=()

# properties IDs
fileName=0
fileSize=1

obj.sayHello(){
    echo Hello
}

obj.property(){
    if [ "$2" == "=" ]
    then
        obj_properties[$1]=$3
    else
        echo ${obj_properties[$1]}
    fi
}

obj.fileName(){
    if [ "$1" == "=" ]
    then
        obj.property fileName = $2
    else
        obj.property fileName
    fi
}

system.h

. system.class

sistem.kelas

system.stdout.printValue(){
    echo $([email protected])
}

system.stdout.printString(){
    echo [email protected]
}

Tautan untuk referensi:https://github.com/mnorin/bash-scripts/tree/master/objectsIntinya adalah Anda tidak dapat membuat objek tetapi Anda dapat meniru pemrograman berorientasi objek di bash


Linux
  1. Menjelajahi Podman RESTful API menggunakan Python dan Bash

  2. Cara membuat skrip Bash menggunakan variabel eksternal dan skrip yang disematkan

  3. temukan dan salin file menggunakan Bash

  1. Menggunakan dan di Bash while loop

  2. membuat direktori dari nama file dan memindahkan bash

  3. Perilaku Array dalam skrip bash dan zsh shell (Mulai Indeks 0 atau 1?)

  1. Bash Scripting – Sementara Dan Sampai Loop Dijelaskan Dengan Contoh

  2. Skrip bash(I)

  3. Masalah Bash Scripting - Bandingkan Dua Daftar Dan Buat Yang Ketiga?