2010-03-28 3 views
1

Я играл с Linux и замечал, что для некоторых таинственных причин команды типа «/ bin/sh» просто не сработают. Каждый раз, когда я пытаюсь запустить процесс, он дает сообщение об ошибке «не может выполнить двоичный файл».Shell жалуется, что «не может выполнить двоичный файл»

[email protected]:~$ sh sed 
/bin/sed: /bin/sed: cannot execute binary file 

Когда я впервые запускаю sh и пытаюсь выполнить sed, он преуспевает.

Я начинаю терять свои остроумие. Было бы здорово, если бы кто-нибудь мог мне помочь.

спасибо.

+0

«sed» не является скриптом оболочки, поэтому вы не выполняете его с sh. –

ответ

5

«sed» не является скриптом оболочки, поэтому вы не выполняете его с sh. Просто введите sed ...args... не sh sed ...args...

+1

Или, если вы действительно хотите запустить его через 'sh', по какой-то причине вы можете использовать' sh -c sed'. – mark4o

+0

@ марка40, хорошо пункт. –

0

sh ожидает сценарий оболочки как аргумент, но вы даете ему двоичный файл.

2

Вы пытаетесь запустить sed как скрипт оболочки, sed - обычный исполняемый файл. Вы можете просто запустить его как

[email protected]:~$ sed 
Смежные вопросы