Criar classes e objectos usando a programação da bash

Estou a tentar usar o script bash para fazer um script agir como uma lista telefónica., então eu tentei criar classes e objetos, mas infelizmente eu não consegui encontrar uma maneira de fazer isso ! então estou a perguntar como criar uma aula usando o script bash??

Author: Fabio K. Khaleel, 2016-04-21

2 answers

Bash é uma linguagem de programação, que não suporta o OOP, por isso não pode. Tente Python.

A única outra coisa que podes fazer é ter vários arrays, mas isso é confuso. Use o índice para ligá-los.
 6
Author: SaintHax, 2016-04-21 13:30:59
Podes tentar fazer algo assim.

Example.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.classe

# 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
}

Sistema.h

. system.class

Sistema.classe

system.stdout.printValue(){
    echo $($@)
}

system.stdout.printString(){
    echo $@
}

Ligação para referência: https://github.com/mnorin/bash-scripts/tree/master/objects O ponto é que você não pode criar objetos, mas você pode emular programação orientada a objetos no bash

 27
Author: Maxim Norin, 2018-02-14 03:05:59