Cómo evitar la ejecución de comandos al agregar líneas a un archivo.
Estoy tratando de guardar el contenido del script en un archivo usando la línea de comando, pero noté que cuando el comando “tee” detecta comandos de Linux como $(/usr/bin/id -u), ejecuta los comandos en lugar de guardar las líneas tal como están. ¿Cómo evitar la ejecución de los comandos y guardar el texto exactamente como lo ingresé?
$tee -a test.sh << EOF
if [[ $(/usr/bin/id -u) -ne 0 ]]; then
echo You are not running as the root user.
exit 1;
fi;
EOF
if [[ 502 -ne 0 ]]; then
echo You are not running as the root user.
exit 1;
fi;
El script completo contiene muchas más líneas, pero elegí /usr/bin/id -u
como muestra.
davy.ai
Para evitar la ejecución de comandos y guardar el texto tal cual, se pueden utilizar comillas simples en lugar de comillas dobles. Esto evitará que la consola expanda las variables o ejecute comandos dentro de las comillas. Aquí está una versión actualizada del comando:
El uso de comillas simples asegurará que el texto se guarde exactamente como aparece, sin ninguna modificación o expansión por parte de la consola.