Ответ 1
Баш/ш:
#!/usr/bin/env bash
# (Use #!/bin/sh for sh)
if [ 'id -u' = 0 ] ; then
echo "I AM ROOT, HEAR ME ROAR"
fi
CSH:
#!/bin/csh
if ( 'id -u' == "0" ) then
echo "I AM ROOT, HEAR ME ROAR"
endif
У меня есть script, я хочу, чтобы мне нужно было запускать с привилегиями su, но интересная скриптовая команда, которая потерпит неудачу, приходит очень поздно в script, поэтому я бы хотел провести чистый тест, чтобы определить если скрипт не будет работать без возможностей SU.
Каков хороший способ сделать это для bash, sh и/или csh?
Баш/ш:
#!/usr/bin/env bash
# (Use #!/bin/sh for sh)
if [ 'id -u' = 0 ] ; then
echo "I AM ROOT, HEAR ME ROAR"
fi
CSH:
#!/bin/csh
if ( 'id -u' == "0" ) then
echo "I AM ROOT, HEAR ME ROAR"
endif
Вы можете добавить что-то подобное в начале вашего script:
#!/bin/sh
ROOTUID="0"
if [ "$(id -u)" -ne "$ROOTUID" ] ; then
echo "This script must be executed with root privileges."
exit 1
fi