GNU/Linux >> Linux Esercitazione >  >> Linux

Errore "Fine imprevista del file" e "Errore durante l'importazione della definizione della funzione" durante l'esecuzione di shellscript utilizzando qsub

Hanno anche questo problema in uno script wrapper che utilizza

qsub -shell no -b yes -cwd -V somescript.bash arg1 arg2 etc

se lo usi per inviare un altro script di shell bash. Produce il fastidioso

/bin/sh: module: line 1: syntax error: unexpected end of file
/bin/sh: error importing function definition for `BASH_FUNC_module'

(questo è Sun Grid Engine 211.11 in esecuzione su CentOS 6.6) Risulta che le cose si risolvono semplicemente mettendo quanto segue sopra lo script wrapper (non lo script wrapper):

unset module

È tutto.


In /usr/share/Modules/init/bash ha commentato la riga 'export -f module'.

In una normale shell di login, module.sh verrà richiamato da profile.d quindi è disponibile il comando module. In una shell non di accesso, come uno script appwrapper, si limita a generare prima il file sopra.

Generalmente nello script delle applicazioni dopo l'approvvigionamento sopra il file danno di nuovo il comando "module load apps/vendor/app" che significa sourcing extra.

Riferimento::- http://gridengine.org/pipermail/users/2011-November/002019.html


Per qualche motivo a me sconosciuto l'aggiunta di punti e virgola alla fine di ogni riga ha risolto il problema.


Linux
  1. Script di shell con funzione e parametro come variabili?

  2. wget vs curl:come scaricare file usando wget e curl

  3. Errore tar:EOF imprevisto nell'archivio

  4. esecuzione di script php (funzione php) in linux bash

  5. Aggiungi colonna alla fine del file CSV utilizzando 'awk' nello script BASH

Collabora su un file usando Linux diff e patch

Ottieni podman attivo e funzionante su Windows usando Linux

Come registrare e riprodurre sessioni del terminale Linux utilizzando i comandi "script" e "scriptreplay".

FATAL:Errore modulo non trovato utilizzando modprobe

modifiche ai parametri del modulo del kernel (usando /sys/module)

Copia e sovrascrivi un file nello script della shell