Cómo ejecutar un script csh en el shell bash
Mi shell predeterminado es bash en Ubuntu 14.04. Tengo un archivo de script csh llamado clean.sh
con el siguiente comando make:
#! /bin/csh -f
make -f commande.make del
Y commande.make
tiene:
CKHOME=../CHEMKIN/DATA_BASES
LIN_DATA=${CKHOME}/LIN_FILES/
LINK_CKTP=${CKHOME}/LINK_CKTP_FILES/
#-----------------------------------------------------
include schema_cinetique.make
LINKFILE=${NAME}_LINK
LINKTPFILE=${NAME}_LINKTP
LINKFILE_OLD=${NAME_OLD}_LINK
LINKFILE_NEW=${NAME_NEW}_LINK
#-----------------------------------------------------
cplink :
${COPY} ${LINK_CKTP}${LINKFILE} LINK
cplink2 :
${COPY} ${LINK_CKTP}${LINKFILE} LINKZ1
tplink :
${COPY} ${LINK_CKTP}${LINKTPFILE} LINKTPZ1
calcul :
${COPY} jobtimp1 LJOBNZ1
${COPY} unsteadyf.dat1 DATZ1
del :
${DELETE} LINKZ1 LINKTPZ1 LJOBNZ1 DATZ1 SOLASUZ1
Abrí la terminal y me moví a la ubicación e intenté ejecutar:
./clean.sh
o
csh clean.sh &
o
csh -f clean.sh
Nada funcionó.
Obtuve la siguiente línea en la terminal:
LINKZ1 LINKTPZ1 LJOBNZ1 DATZ1 SOLASUZ1
make: LINKZ1: Comando no encontrado
make: *** [del] Error 127
Entonces, ¿cómo puedo ejecutar el archivo clean.sh
?
davy.ai
El problema aquí parece estar con el comando
make
utilizado enclean.sh
. Es posible que el comandomake
no esté instalado en el sistema Ubuntu, y por eso aparece el error “make: command not found”.Para ejecutar el archivo
clean.sh
, puedes intentar seguir los siguientes pasos:make
si aún no está instalado en tu sistema. Puedes hacer esto ejecutando el siguiente comando en tu terminal:clean.sh
de#!/bin/csh -f
a#!/bin/bash
. Esto se debe a que estás utilizando bash como tu shell predeterminada.Asegúrate de que el archivo tenga permisos de ejecución. Puedes establecer los permisos de ejecución usando el siguiente comando:
o
Esto debería ejecutar el script sin errores.
Si aún encuentras problemas, intenta ejecutar el script con el modo de depuración habilitado añadiendo la opción
-x
al comando. Esto te ayudará a identificar cualquier problema con el script:Esto debería proporcionarte detalles adicionales sobre lo que está saliendo mal y ayudarte a solucionar el problema.