-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathattr.sh
40 lines (40 loc) · 871 Bytes
/
attr.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/bash
## attr
## version: 1.0.1 - attribute name
##################################################
attr() {
##################################################
local attribute_name
##################################################
temp() {
echo attr-${attribute_name}-$( date +%s )-${RANDOM}
}
#-------------------------------------------------
main() {
_() {
cat > ${2} << EOF
set_${1}() {
test ! "\${*}" = "" || {
echo error: empty set_ on ${1} 1>&2
return 1 ;
}
${1}=\${*}
}
get_${1}(){ echo \${${1}} ; }
EOF
. ${2}
rm ${2} --force #--verbose
} ; _ "${attribute_name}" "$( temp )"
}
##################################################
## $1 - attribute name
##################################################
if [ ${#} -eq 1 ]
then
attribute_name=${1}
main
else
exit 1 # wrong args
fi
}
##################################################