Я автор оболочки Гамильтон C . Похоже, вы используете Cygwin с моей оболочкой C и получаете следующую ошибку при попытке использовать python:
1 C% python csh(C:\cygwin64\bin\python line 1): Couldn't open 'symlink' as a redirected standard input. > in C:\cygwin64\bin\python < called from line 1
Проблема в том, что команда Python Cygwin - это файл символьных ссылок только для Cygwin, а не фактический исполняемый файл. Они поддерживаются только Cygwin . (Возможно, вы заметили, что cmd.exe тоже не запустится.) Вот что в нем:
2 C% whereis python C:\cygwin64\bin\python 3 C% cat `!!` cat `whereis python` !<symlink>python2.7.exe
Не имея возможности распознать его как что-либо еще, оболочка C пыталась интерпретировать его как сценарий, полагая, что распознает оператор перенаправления ввода-вывода!<
оболочки C, но не может найти файл с именем, отсюда и сообщение об ошибке.symlink
Но, учитывая, что все, что делает этот файл - это перенаправляет вас к реальному исполняемому файлу, вы можете сделать то же самое с псевдонимом оболочки C, который вы можете сохранить в своем файле startup.csh :
4 C% alias python python2.7 5 C% python Python 2.7.10 (default, Jun 1 2015, 18:05:38) [GCC 4.9.2] on cygwin Type "help", "copyright", "credits" or "license" for more information. >>> quit() 6 C% cd desktop 7 C% cat MyScript.py print("Hello") 8 C% python MyScript.py Hello
Если вы хотите запускать свои сценарии Python непосредственно из оболочки C без необходимости вводить команду python, оболочка C поддерживает общий #!
синтаксис, который предписывает ей использовать интерпретатор python. Но обратите внимание, ему все еще нужно имя фактического исполняемого файла. Вот пример:
9 C% cat MyScript2.py #!python2.7 print("Hello") 10 C% MyScript2.py Hello 11 C%