, файл для выполнения файла в bash и & gt; файл для пустого содержимого файла

Почему использование . file в bash выполняет файл, даже если это не файл и исполняемый файл? Это потому, что он использует текущий сеанс bash для его запуска, чтобы он работал, например, набрав bash file?

Кроме того, вдоль аналогичных строк. Я знаю, что ввод > file удаляет содержимое файла. Но почему? Я понимаю, что это отправляет стандартный ввод в файл. Но не стандартный ввод клавиатуры? Так не следует ли мне перейти к новой теории в теории и типе? Я не понимаю.

1
задан 18 October 2015 в 15:15

1 ответ

Избегайте задавать два несвязанных вопроса в одном и том же сообщении.

1: он не работает точно так же, как bash file, потому что последний запускает новую оболочку, а . использует ту же текущую оболочку. Он работает как source file.

2: Стандартный стандартный ввод обычно является клавиатурой, но с запуском > file нет команды для запуска. Оболочка просто обрабатывает перенаправления, а затем завершает обработку (отсутствует) команды. То, что вы описали, было бы cat > file.

2
ответ дан 23 May 2018 в 16:35

Другие вопросы по тегам:

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