Dnes sa Azrael učil o systémových premenných. Poďme ho skontrolovať, čo vystrájal.
Vieme, že premenné sú užívateľské a systémové. Užívateľské sú tie, ktoré si sám definujem. Systémové sú už definované systémom.
Najprv sa zoznámme s príkazom printenv
nejaký výpis z príkazu:
SSH_CONNECTION=10.0.2.2 35742 10.0.2.15 22
LANG=en_US.UTF-8
HISTCONTROL=ignoredups
HOSTNAME=localhost.localdomain
SSH_AUTH_SOCK=/tmp/ssh-gb1MiQryko/agent.1546
XDG_SESSION_ID=2
USER=root
SELINUX_ROLE_REQUESTED=
PWD=/root
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
HOME=/root
SSH_CLIENT=10.0.2.2 35742 22
SELINUX_LEVEL_REQUESTED=
XDG_DATA_DIRS=/root/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
SSH_TTY=/dev/pts/0
MAIL=/var/spool/mail/root
TERM=xterm
A tak si to skúsme klasickými príkazmi. Napríklad príkaz PWD ako systémová premenná
[root@localhost ~]# pwd
/root
[root@localhost ~]# echo $PWD
/root
[root@localhost ~]#
- ako vidíte, táto premenná je to isté ako príkaz pwd
- systémové premenné píšeme veľkými písmenami
neskôr pri podmienkach alebo cykloch budeme tieto systémové premenné využívať. Azrael spraví napríklad
if $PWD == /
then
rm -rf /
fi
(ale to by sme ho asi nepochválili, čo?)
preštudujte aj toto: https://www.cyberciti.biz/faq/linux-list-all-environment-variables-env-command/
Niečo zo systémových premien máme tu v takomto drobnom skripte
[root@localhost ~]# cat ktosom.sh
#!/bin/bash
whoami
echo $PWD
echo $SHELL
echo $HOME
Tu je výstup:
[root@localhost ~]# ./ktosom.sh
root
/root
/bin/bash
/root
[root@localhost ~]#
Žiadne komentáre:
Zverejnenie komentára