Tengo un script bash que le pregunta al usuario el número de núcleos de CPU y lo guarda en la variable denominada $cores
. Ahora quiero agregar esta variable a .bashrc
, así que le pregunto al usuario cuántos núcleos de CPU tiene y luego si quiere guardar este valor en .bashrc
.
Ahora la pregunta: ¿cómo puedo verificar si $cores
ya existe .bashrc
para que el script no vuelva a preguntarle al usuario?
Respuesta1
En lugar de preguntarle al usuario cuántos núcleos tiene el sistema, ¿por qué no simplemente preguntarle al sistema? Esto es mejor porque no implica escribir en un archivo propiedad del usuario. ver algo comoeste, que utiliza 'getconf' para solicitar la variable NPROCESSORS_CONF. O para otros sistemas, las ideas presentadas.aquíPuede ser útil: usar sysctl
o grep over /proc/cpuinfo
para encontrar la cantidad de núcleos.
Respuesta2
Prueba esto:
'awk /\$core/ { print }'
Respuesta3
puedes comprobar si una variable está configurada en bash usando:
if [[ -z "$cores" ]]
then
echo "not set"
else
echo "set"
fi
Esto comprobará si $cores
la variable está configurada o no. es decir, si $cores es nulo, se mostrará "no establecido"; de lo contrario, "establecido". De hecho, .bashrc
no se obtiene automáticamente para shells no interactivos, como los que se inician cuando se ejecuta un script de shell. Por lo tanto, lo colocaría . .bashrc
cerca del comienzo de su .bash_login
archivo, para asegurarse de que .bashrc
se obtenga para shells interactivos tanto con inicio de sesión como sin inicio de sesión.