Besoin d'assigner le contenu d'un fichier texte à une variable dans un script bash
Je suis très nouveau à faire des scripts bash, mais mon but ici est de prendre un .fichier txt que j'ai et affecter la chaîne de mots dans le fichier txt à une variable. J'ai essayé ceci (aucune idée si je suis sur la bonne voie ou pas).
#!/bin/bash
FILE="answer.txt"
file1="cat answer.txt"
print $file1
Lorsque je l'exécute, je reçois
Warning: unknown mime-type for "cat" -- using "application/octet-stream"
Error: no such file "cat"
Error: no "print" mailcap rules found for type "text/plain"
Que puis-je faire pour faire ce travail?
Edit**
Quand je l'ai changer pour:
#!/bin/bash
FILE="answer.txt"
file1=$(cat answer.txt)
print $file1
- Je obtenir ceci à la place:
Warning: unknown mime-type for "This" -- using "application/octet-stream"
Warning: unknown mime-type for "text" -- using "application/octet-stream"
Warning: unknown mime-type for "string" -- using "application/octet-stream"
Warning: unknown mime-type for "should" -- using "application/octet-stream"
Warning: unknown mime-type for "be" -- using "application/octet-stream"
Warning: unknown mime-type for "a" -- using "application/octet-stream"
Warning: unknown mime-type for "varible." -- using "application/octet-stream"
Error: no such file "This"
Error: no such file "text"
Error: no such file "string"
Error: no such file "should"
Error: no such file "be"
Error: no such file "a"
Error: no such file "varible."
Quand je rentre de chat answer.txt il imprime cette chaîne de texte devrait être une varible comme il faut mais je n'arrive toujours pas à la fête à le faire avec la varible.
source d'informationauteur BluGeni
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de la backticks à la capture de la sortie d'une commande (et vous voudrez probablement
echo
au lieu deprint
):En bash
$(< answer.txt)
est un builtinraccourci pour
$(cat answer.txt)
Je soupçonne que vous êtes l'exécution de cette
print
:La
$()
construction renvoie lastdout
à partir d'une commande.