štvrtok 25. novembra 2021

Azrael skriptuje v bashi: 7. časť Azrael narazil na shopt

 Azrael sa opäť niečo naučil. Keďže je plný zvedavosti, podelí sa s nami o shopt. 


Shopt je čosi podobné ako set. Kedy ho používame? Keď potrebujem vyriešiť napríklad aliasy v skripte. 


Ako fungujú aliasy v interaktívnom shelli? Interaktívny shell je prakticky náš príkazový riadok. 


alias batman='ls -lht' 


batman -vyhodí nám výstup z ls -lht


napr:


[gargamel@smolko ~]$ alias batman='ls -lht'

[gargamel@smolko ~]$ batman

total 216K

drwxrwxr-x 2 gargamel gargamel  146 Nov  8 17:49 kluce_skusacka

drwxrwxr-x 2 gargamel smolkovia_patria_do_brucha   53 Nov  8 16:11 keys



Ako to ale urobiť v skripte? 

[gargamel@smolko3~]$ cat skript.sh
#!/bin/bash

alias batman='ls -lht'

batman
[gargamel@smolko3 ~]$ chmod +x skript.sh
[gargamel@smolko3 ~]$ ./skript.sh
./skript.sh: line 5: batman: command not found


Tu je potrebné spraviť príkaz shopt. Príkazom mu zadefinujeme, aby pracoval s aliasmi.


vi skript.sh

#!/bin/bash

shopt -s expand_aliases

alias batman='ls -lht'

batman


výstup:

./skript.sh

total 216K

drwxrwxr-x 2 gargamel gargamel  146 Nov  8 17:49 kluce_skusacka

drwxrwxr-x 2 gargamel smolkovia_patria_do_brucha   53 Nov  8 16:11 keys






Žiadne komentáre:

Zverejnenie komentára