0 votes

Ligne 1: erreur de syntaxe près du jeton inattendu `nouvelle ligne' avec HTML + script shell

J'ai appris le shell avec un excellent tutoriel, linuxcommand.org. Après beaucoup d'apprentissage et de pratique pour naviguer dans les répertoires, éditer des fichiers, etc., je suis passé à l'écriture de scripts shell.

Un des premiers tutoriels de linuxcommand.org consiste à utiliser HTML dans un script shell pour renvoyer des informations système. Vous pouvez le consulter ici. Je suis actuellement sur la section 'Substitution de commandes et constantes'.

Une des premières choses dans le tutoriel dit que le fichier pourrait être utilisé en redirigeant la sortie standard vers .html:

~me$ ./sysinfo_page > sysinfo_page.html

mon script ressemble exactement à celui du lien, mais je le posterai quand même:

(la seule différence est que Linux utilise la variable d'environnement $HOSTNAME, sur OS X c'est $LOGNAME)

#!/bin/bash

# sysinfo_page - Génère une page HTML basée sur les informations système

title="Mes informations système"
RIGHT_NOW=$(date +"%x %r %Z")
TIME_STAMP="Mis à jour le $RIGHT_NOW par $USER"

cat <<- _EOF_

        $title $LOGNAME

        $title $LOGNAME
        $TIME_STAMP

_EOF_

Lorsque je saisis dans la ligne de commande:

~me$ ./sysinfo_page

cela me donne le contenu uniquement de l'HTML, mais ce n'est pas formaté et affiche toujours les balises. Je suppose qu'en redirigeant la sortie standard vers une extension .html, cela me donnerait la page HTML formatée, sans les balises mais je ne le saurais pas parce que, après avoir donné la permission rwx avec 755, je saisis:

~$me ./sysinfo_page.html

Et j'obtiens cette erreur:

./sysinfo_page.html: ligne 1: erreur de syntaxe près du jeton inattendu "newline"
./sysinfo_page.html: ligne 1: `'

Je comprends d'après ce que j'ai lu que < > indique un espace réservé, mais c'est la syntaxe HTML... et exactement comment ça marche dans le tutoriel. J'ai pensé qu'ajouter un pourrait arranger les choses, mais ça n'a pas fonctionné. Ma question est, qu'est-ce que je fais de travers ici? Comment puis-je obtenir l'affichage correct de la page HTML?

3voto

glenn jackman Points 1869

HTML n'est pas un script, c'est un langage de balisage. Vous avez besoin d'un navigateur pour afficher l'HTML. Pour le visualiser, vous voulez probablement

ouvrir sysinfo_page.html

0voto

Stephen M. Points 56

Envelopper votre balisage HTML entre guillemets simples devrait vous permettre de l'exécuter directement dans le terminal sans erreur, même si cela ne fait que vous montrer le balisage et cela va à l'encontre du but d'utiliser HTML.

Utiliser l'open tel que mentionné par Glenn est probablement ce que vous voulez.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X