我試圖使用bash腳本來使腳本像電話簿一樣行動,因此我試圖創建類和對象,但不幸的是我找不到這樣做的方法! 所以我問如何使用bash腳本創建一個類?使用bash腳本創建類和對象
2
A
回答
6
Bash是一種腳本語言,它不支持OOP,所以你不能。嘗試Python。
你可以做的唯一的其他事情是有幾個數組,但這很混亂。使用索引來鏈接它們。
14
你可以嘗試做這樣的事情
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.class
# 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
system.class
system.stdout.printValue(){
echo $([email protected])
}
system.stdout.printString(){
echo [email protected]
}
鏈接以供參考:https://github.com/mnorin/bash-scripts/tree/master/objects 的一點是,你不能創建對象,但你可以在bash模仿面向對象編程
+0
對於這個問題的實際答案,即使它在技術上沒有一個,加上創造力的10。人們必須明白麪向對象纔是一個概念。如果你把它分解成二進制,反正沒有什麼是固有的「OOP」。那麼爲什麼不在Shell中有像上面那樣的對象。 –
+0
任何黑客繼承? – cprn
相關問題
- 1. 創建bash腳本
- 2. Bash腳本目錄檢測和創建
- 3. Bash腳本文件創建和填充
- 4. 用變量創建bash腳本的bash腳本
- 5. 如何用另一個bash腳本創建一個bash腳本?
- 6. bash腳本創建腳本變量
- 7. 創建一個tshark bash腳本來導出對象
- 8. Python類和對象創建
- 9. Salesforce:用於創建自定義對象和字段的腳本
- 10. Unity 5.6和用C#類創建對象
- 11. 在java腳本中使用數組變量創建對象
- 12. 使用bash腳本
- 13. 使用bash腳本
- 14. 使用bash腳本
- 15. 使用bash腳本
- 16. 使用bash腳本
- 17. 使用bash腳本
- 18. 使用bash腳本
- 19. 使用bash腳本
- 20. 創建類對象
- 21. 創建類對象
- 22. 使用創建其他類的對象
- 23. 創建類對象使用XSD.EXE
- 24. 如何使用類型創建對象
- 25. 使用javascript創建類的對象
- 26. 用於使用forloop創建多個文件的bash腳本
- 27. 在bash腳本中創建mysql數據庫和用戶
- 28. 創建嵌套for循環bash腳本
- 29. 創建zip文件(bash腳本)
- 30. 創建的bash腳本,需要輸入
你不能; 'bash'不是一個面向對象的語言。 – chepner