«Текстовый файл занят» при запуске простого скрипта в bash

Когда я делаю простой скрипт, я получаю «Text File Busy», когда пытаюсь запустить его.

dbell@det-ui-supergbe:~$ cat > test2 ls ^Z [2]+ Stopped cat > test2 dbell@det-ui-supergbe:~$ chmod a+x test2 dbell@det-ui-supergbe:~$ ./test2 -bash: ./test2: Text file busy 

Путем нажатия Ctrl-Z вы приостановили cat , поэтому файл все еще открыт и записывается в «в фоновом режиме».

Я подозреваю, что вы хотите Ctrl-D для «конца файла».

Это правда, что Ctrl-Z может означать «EOF», но в этом случае, поскольку вы находитесь в терминале, который поддерживает фоновые задачи, Ctrl-Z означает «suspend».

Попробуйте эту ссылку для получения дополнительной информации.