st_rc_d
258 строк · 6.0 Кб
1@startmindmap
2*:
3ПРИНЯТЫЕ ОБОЗНАЧЕНИЯ И УСЛОВНОСТИ :
4
5<file:> <path_to_file>
6<nnn:> - номер строки в файле
7указывается только значимый код
8в терминах псевдокода похожего на bash
9source <path_to_file> влечет за собой
10раскрытие содержания <path_to_file> в
11правой секции соединенной с текущей секцией
12;
13
14*:
15
16STL ВНУТРЕННИЕ УПРАВЛЯЮЩИЕ ФАЙЛЫ STL
17
181. (depr?) \~/.d/.lst.d/.st.lst список файлов с файл-путь к корню репо
19подключаемой библиотеки
20
21$ cat \~/.d/.lst.d/.st.lst
22${HOME}/.d/.rc.d/.st_rc_d.rc
23${HOME}/.d/.rc.d/.sta.rc
24${HOME}/.d/.rc.d/.mane.rc
25${HOME}/.d/.rc.d/.stb.rc
26$ cat \~/.d/.rc.d/.st_rc_d.rc
27${HOME}/REPOBARE/_repo/st_rc_d
28
292. \~/.stl/.path/ директория с файл-путь к корню репо
30подключаемых библиотеки <lib_repo>
31ls \~/.stl/.path/
32<lib_repo1>.path
33...
34
35
36USER ВНЕШНИЕ УПРАВЛЯЮЩИЕ ФАЙЛЫ STL
37
381. \~/.is_bashrc_log
39flag=$(cat \~/.is_bashrc_log)
40if $flag=0 то вывод {source \~/.d/.rc.d/.st.rc.d/.st.rc} в stdout/err
41if $flag=1 то вывод {source \~/.d/.rc.d/.st.rc.d/.st.rc} в \~/bashrc.log
42
43
44
45USER ВНЕШНИЕ ИНФОРМАЦИОННЫЕ ФАЙЛЫ STL
46
471. \~/bashrc.log log of {source \~/.d/.rc.d/.st.rc.d/.st.rc}
48
49;
50
51*:
52file:\~/.bashrc
53Формируем файл в котором записываем флаг логирования {source \~/.d/.rc.d/.st.rc.d/.st.rc}
54- если 0 , то вывод в stdout/err
55- если 1 , то вывод в \~/bashrc.log
56037: echo (0|1) >\~/.is_bashrc_log
57
58046: source \~/.d/.rc.d/.st.rc.d/.st.rc
59;
60
61**:file:\~/.d/.rc.d/.st.rc.d/.st.rc:
62Для STL путь всегда определен от домашней директории
63
64Определение константы ST_RC_D_PATH это путь к репо с STL0
65хранящийся в файле ~/.stl/.path/st_rc_d.path
66004: path_to_stl=${HOME}/.stl/.path/st_rc_d.path
67008: ST_RC_D_PATH=$(cat ${path_to_stl})
68
69Определение константы ST_RC_D_DATA_PATH это путь к репо с данными для STL0
70хранящийся в файле ~/.stl/.path/st_rc_d_data.path
71026: path_to_data=${HOME}/.stl/.path/st_rc_d_data.path
72030: ST_RC_D_DATA_PATH=$(cat ${path_to_data})
73
74047: define _up_d() {}
75073: define _up_st_os_d() {}
76
77Определение дефолтных утилит и констант для оболочки в которой запущен этот .bashrc
78085: _up_st_os_d
79
80Проверка тестов всех функций STL, если return 1, то загрузка оболочки прерывается
81127: source ~/.d/.rc.d/.st.rc.d/.st.tst || return 1
82
83133: define _loop_lib_st_rc() {}
84' 000:
85' 000:
86' 000:
87' 000:
88' 000:
89;
90***:define: _up_d() {
91$1 - dir
92for file in $(ls $1); do
93source ${file}
94done
95}
96
97;
98
99***:define: _up_st_os_d() {
100_up_d \~/.d/.rc.d/.st.rc.d/.st.os.d
101}
102;
103
104***:exec: _up_st_os_d:
105;
106
107****:ls \~/.d/.rc.d/.st.rc.d/.st.os.d
108
109app-aliases.sh
110git-alias.sh
111git-completion.sh
112git-prompt.sh
113os_aliases.sh
114os_utils.sh
115;
116
117*****:file:app-aliases.sh
118
119alias vim="gvim -v"
120alias sky="flatpak run com.skype.Client"
121;
122
123*****:file:git-alias.sh
124
125alias gs="git status
126alias ga="git add
127alias gc="git commit
128alias gb="git branch
129alias gha="git checkout
130alias gp="git push -u origin master
131alias gl="git log - -pretty=format:\"%h %s\ --graph
132alias gw="git show - -stat --oneline HEAD
133alias gg="git log - -graph - -abbrev-commit - -decorate - -date=relative - -format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all
134alias gk="gitk --all&
135;
136
137*****:file:git-completion.sh
138
139git-completion STANDART
140;
141
142*****:file:git-prompt.sh
143
144git-prompt STANDART
145;
146
147*****:file:os_aliases
148
149DEFINE USER ALIASES
150alias www="tldr"
151alias ll="ls -l"
152alias lla="ls -la"
153alias updb="updatedb -l 0 --output=/home/st/.mydb.db"
154alias llocate="locate -d ~/.mydb.db"
155;
156
157*****:file:os_utils.sh
158
159DEFINE USER DEFAULT FUNCTIONS
160<EMPTY>
161;
162
163***:define: _up_st_config_d() {
164_up_d \~/.d/.rc.d/.st.rc.d/.st.config.d
165}
166;
167
168***:exec: _up_st_config_d
169;
170
171****:ls \~/.d/.rc.d/.st.rc.d/.st.config.d
172
173fn_name.sh
174;
175
176*****:file:fn_name.sh
177
178DEFINE NAME_FUNCTION [fn_name] is VAR [_fn_name]:
179_fn_name=fn_name
180;
181
182***:define: _up_st_sh_d() {
183_up_d \~/.d/.rc.d/.st.rc.d/.st.sh.d
184}
185;
186
187***:exec: _up_st_sh_d
188;
189
190****:ls \~/.d/.rc.d/.st.rc.d/.st.sh.d
191
192ALL FN STL files with define functions
193[fn_name].sh
194;
195
196*****:file:[fn_name].sh
197
198DEFINE NAME_FUNCTION [fn_name]
199[fn_name](){
200[body_fn_name]
201}
202;
203
204***:source \~/.d/.rc.d/.st.rc.d/.st.tst || return 1
205
206;
207
208****:file:\~/.d/.rc.d/.st.rc.d/.st.tst
209
210for name_fn in all_name_fn;do
211source \~/.d/.rc.d/.st.rc.d/.st.tst.d/${name_fn}.tst || return 1
212done
213;
214
215*****:file:\~/.d/.rc.d/.st.rc.d/.st.tst.d/${name_fn}.tst
216
217source \~/.d/.rc.d/.st.rc.d/.st.tst.d/${name_fn}.tst.d/${name_fn}.tst.sh || return 1
218;
219
220******:file:\~/.d/.rc.d/.st.rc.d/.st.tst.d/${name_fn}.tst.d/${name_fn}.tst.sh
221
222В результате работы ${name_fn} формируется файл res:
223exec ${name_fn} -> \~/.d/.rc.d/.st.rc.d/.st.tst.d/${name_fn}.tst.d/res
224
225Файл pre формируется при правильной работе ${name_fn}
226ТЕСТ: Сравнение res и pre:
227diff \~/.d/.rc.d/.st.rc.d/.st.tst.d/${name_fn}.tst.d/res \~/.d/.rc.d/.st.rc.d/.st.tst.d/${name_fn}.tst.d/pre || return 1
228возврат return 1 ошибка эскалируется до ~/.bashrc и прерывает загрузку оболочки
229;
230
231***:define: _loop_lib_st_rc() {
232file_lib_lst=${HOME}/.d/.lst.d/.st.lst
233}
234;
235
236***:source \~/.d/.rc.d/.st.rc.d/.st.tst || return 1
237
238;
239***:source \~/.d/.rc.d/.st.rc.d/.st.tst || return 1
240
241;
242
243' *:HEAD:
244
245' CONT
246' ;
247
248' *:HEAD:
249
250' CONT
251' ;
252
253' *:HEAD:
254
255' CONT
256' ;
257
258@endmindmap