mirror of https://framagit.org/kyodev/kyopages.git
47 lines
924 B
Bash
Executable File
47 lines
924 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# $1=cmd si $2: nb de tentatives pour s'identifier, sinon 1 tentative par défaut
|
|
f__sudo(){ # 11/10/2017
|
|
local nb=1 sudo isudo
|
|
# sudo --shell bash équivalent su ?
|
|
if sudo -v &>/dev/null && [ $EUID -ne 0 ] ; then
|
|
sudo="sudo su --shell $(which bash) --preserve-environment -c "
|
|
else
|
|
sudo="su --shell $(which bash) --preserve-environment -c "
|
|
fi
|
|
[ "$2" ] && nb="$2"
|
|
for (( isudo=1 ; isudo<="$nb" ; isudo++ )); do
|
|
$sudo " $1"
|
|
[ "$?" == 0 ] && break
|
|
[ "$isudo" == "$nb" ] && return 1
|
|
done
|
|
}
|
|
|
|
file="/tmp/$$/random/dmesgx"
|
|
f__sudo "dmesg -l err; \
|
|
dmesg -l crit; \
|
|
echo $file"
|
|
|
|
echo $?
|
|
echo $$
|
|
|
|
exit 0
|
|
|
|
tester:
|
|
sudo -i eq su -
|
|
-> /root
|
|
|
|
et sudo -sudo -s eq su
|
|
-> ./ pas de changement de répertoire courant
|
|
|
|
|
|
|
|
#f__sudo "echo je suis $(whoami)"3
|
|
|
|
if ! dmesg --nopager &> /dev/null; then
|
|
echo "la commande \`dmesg\` n'est pas disponible (droits root requis?)"
|
|
else
|
|
echo "all is ok"
|
|
fi
|
|
|