Подтвердить что ты не робот

Необходимо присвоить содержимое текстового файла переменной в bash script

Я очень новичок в создании сценариев bash, но моя цель здесь - взять файл .txt, который у меня есть, и назначить строку слов в файле txt переменной. Я пробовал это (нет подсказки, если я на правильном пути или нет).

#!/bin/bash
FILE="answer.txt"
file1="cat answer.txt"
print $file1

Когда я запускаю это, я получаю

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"

Что я могу сделать, чтобы сделать эту работу?

Изменить ** Когда я меняю его на:

#!/bin/bash
    FILE="answer.txt"
    file1=$(cat answer.txt)
    print $file1

Я получаю это вместо:

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."

Когда я вхожу в cat answer.txt, он печатает эту текстовую строку, которая должна быть varible, как должна, но я все еще не могу получить bash, чтобы сделать это с помощью varible.

4b9b3361

Ответ 1

Вам нужны обратные выходы для захвата вывода из команды (и вы, вероятно, хотите echo вместо print):

file1=`cat answer.txt`
echo $file1

Ответ 2

В bash $(< answer.txt) встроен сокращенное обозначение $(cat answer.txt)

Я подозреваю, что вы запускаете этот print:

NAME  
    run-mailcap, see, edit, compose, print − execute programs via entries in the mailcap file

Ответ 3

Конструкция $() возвращает stdout из команды.

file_contents=$(cat answer.txt)