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??
5
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