Bash oder sh können keine Binärdateien ausführen

Während ich in der Lage bin, Binärdateien auszuführen, wenn das Terminal geöffnet ist, wenn ich Folgendes eingebe:

/bin/bash make

oder

/bin/sh ls

Ich erhalte: /usr/bin/make: /usr/bin/make: Binärdatei kann nicht ausgeführt werden

Warum das? Ich bin auf Mavericksund habe das neueste Command Line Toolsvon XCode installiert.

Ich möchte bash verwenden, um make auszuführen, weil ich externe Build-Tools für AppCode.

Beifall

Antworten (1)

Wenn Sie mit nur einem Argument aufrufen , können Sie nur scripts/bin/bash ausführen . Keine Binärdateien. Dies hat nichts mit den von Ihnen installierten Tools zu tun, es ist nur das in der Manpage beschriebene Verhalten.

/bin/bash -c lssoll machen was du willst.

Vielen Dank! Ich habe noch eine Frage. Wenn ich /bin/bashdie PATH env ausführe. var ist nicht gesetzt. Gibt es eine CLA, um bashmeine Datei auszuführen .profile?
@Paschalis Das Argument macht die Shell zu einer "Login" -Shell, was bedeutet, dass sie Ihre / /etc -lausführt ..profile.bash_profile
Hmm, es hat nicht funktioniert, aber ich habe eine Problemumgehung für meinen Fall gefunden! DANKE!
@Paschalis Es funktioniert für mich, aber im Allgemeinen --init-filekönnen Sie mit der Option eine Datei angeben, die beim Start ausgeführt werden soll.
Beachten Sie, dass Sie Bash bereits ausführen, wenn Sie Terminal geöffnet haben (es sei denn, Sie haben Ihre Standard-Shell geändert). Alles, was Sie tun müssen, damit bash ls ausführt, ist den Befehl einzugeben ls. Wenn Sie eingeben , weist dies bash an, eine weitere/bin/bash -c ls Instanz von bash auszuführen und diese Instanz ls ausführen zu lassen. Ich kann mir keinen Grund vorstellen, mich mit dieser zweiten Bash-Instanz zu beschäftigen ...
Ja, ich kenne Gordon! Ich wollte nur C eingeben, in einer anständigen IDE! Nicht in Eclipse, nicht in XCode und nicht in Gedit! :) (bitte nicht mit vi usw. antworten!)