Я запускаю Windows 10 и пытаюсь сохранить вывод ошибки файла test.sh в текстовый файл. Итак, я создал файл test.sh и написал в нем нечеткую команду (т. Е. «Blablubb»)..sh вывод в файл .txt - что я делаю неправильно?
После этого я открываю терминал (cmd.exe), переключаюсь в каталог и печатаю test.sh 2>> log.txt
.
В окне заголовка открывается окно «/ usr/bin/bash --login -i \ test.sh», которое показывает мне «bash: blablubb: command not found», а затем немедленно закрывается.
Я хочу сохранить этот вывод, потому что окно bash просто открывается на долю секунды. Каждый поиск в Google приводит меня к сайтам, говорящим о перенаправлении вывода, и Stream2 ist STDERR, и поэтому я должен использовать test.sh 2>> log.txt
или что-то знакомое, которое заботится о потоке STDERR.
Если бы я попробовать то же самое с файлом test.sh и содержимым:
#!/bin/bash echo hi there
я получаю выход в открытый кратко Баш-окна:
bash: #!/bin/bash: No such file or directory hi there
Но файл log.txt пуст.
Если у меня есть только echo hi there
в файле test.sh, я получаю bash: echo: command not found
в окне bash. Log.txt также пуст.
Если я введите следующую непосредственно в терминале, выход записывается в log.txt:
echo hi > log.txt 2>&1
Если я типа непосредственно в терминале:
echdo hi > log.txt 2>&1
Я получаю «Der Befehl» echdo «ist entweder falsch geschrieben oder konnte nicht gefunden werden». в файле log.txt.
Таким образом, я предполагаю, что перенаправление вывода работает нормально до тех пор, пока я не буду использовать test.sh. Я знаю, что .sh-файлы - это что-то из мира unix, и проблема может быть там, но я не знаю, почему я не могу перенаправить вывод, кратко отображаемый в bash-console, в текстовый файл.
Теперь я знаю свою проблему! Путаница началась, не зная о различиях в командной строке. Любое черное окно - это просто терминал или командная строка для меня. Shell, bash, партия и т. Д. Еще не открытая книга для меня. – greeven
Cmd имеет свой собственный синтаксис перенаправления. – Basilevs