Я являюсь автором оболочки Hamilton 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 попыталась интерпретировать его как скрипт, подумав, что он распознал a !<
C shell оператор перенаправления ввода / вывода, но не смог найти файл с именем 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%