Não, o nome é arbitrário, você não pode assumir nada com base nisso. No entanto, a sessão ao vivo tem algumas peculiaridades, como:
$df -h | grep -w /
/cow 2.0G 42M 1.9G 3% /
Como você pode ver, o dispositivo especial /cow
está montado em /
. Eu não tenho certeza de quão portátil isso é, eu duvido que seja o mesmo para Linux não Ubuntu e também pode mudar em versões futuras, mas desde que não seja um dispositivo real em /dev
você pode testar isso com muita facilidade:
df | grep -w / | grep -q 'cow' && echo "Live session" || echo "Normal install"
Explicação:
-
df
: sistemas de arquivos montados em impressão -
grep -w /
: imprime apenas a linha que mostra o que está montado em/
. A opção-w
corresponde apenas a palavras inteiras, de modo que apenas/
e não, por exemplo,/home
, serão impressas. -
grep -q cow
: O -q suprime a saída,grep
sairá com status > 0 (erro) secow
não foi encontrado e0
(correto) se foi. -
&& echo "Live session" : Print
Sessão ao vivoif the
grep 'foi bem-sucedida -
|| echo "Normal install"
: Else, imprimirNormal install
.
EDITAR PELO OP
No final, aqui está a solução que implementei no meu script, se for útil:
#!/bin/bash
if [ ! $(df | grep -w / | grep -q '/cow') ]; then
printf "This script must be run from a live session.\n"
exit 1
fi