Как сделать вывод двух эхо-сигналов в текстовый файл на отдельных строках

Из комментариев:

Текущую версию 6.0.6 iso гостевых дополнений можно загрузить сhttp://download.virtualbox.org/virtualbox/6.0.6/VBoxGuestAdditions_6.0.6.isohttps://download.virtualbox.org/virtualbox/6.0.6/VBoxGuestAdditions_6.0.6.iso
(Редактировать:https снова работает)

Но возьмите хэш с сайта https,https://www.virtualbox.org/download/hashes/6.0.6/MD5SUMSи проверьте его.

0
20.04.2021, 10:56
1 ответ

Проблема в пропущенных кавычках, должно быть:

#!/bin/sh
echo "$1" > "$2"

Это необходимо, поскольку в противном случае bash будет обрабатывать любые специальные символы внутри переменной, такие как пробелы, новые строки, звездочки (*)и т. д.

В этом случае символы новой строки разбивали аргумент на несколько аргументов, заставляя echoсоединять их пробелом.


Обратите внимание, что это печатает первый аргумент в файл.

Чтобы распечатать содержимое из $1, вы должны сделать:

#!/bin/sh
cat "$1" > "$2"

для печати вывода из $1вы должны сделать:

#!/bin/sh
./math.sh "$1" > "$2"

Если вы также хотите, чтобы изменения переменных отражались в текущем скрипте, вы можете использовать его источник:

#!/bin/sh
. "$1" > "$2"
-1
28.04.2021, 22:51

Теги

Похожие вопросы