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