2016-11-22 2 views
0

Ich habe eine Shell-Datei, und ich muss eine ausführbare Datei erstellen, die auf beliebigen Mac ohne chmod +x funktioniert, nur durch Doppelklick. Wie kann ich das machen? Ich habe versucht, appify, aber Doppelklick auf das Ergebnis führt nicht meine Datei. Ich habe auch die in How to execute a shell script from within an app and show it in the terminal dargestellte Lösung versucht, aber dies führt zu dem Fehler Permission denied.Wie man ein ausführbares Shell-Skript macOS macht, das auf jedem Computer verwendet werden kann

Das Skript Ich versuche, ausführbar zu machen ist:

#!/bin/bash 

DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" 

cd $DIR 

SLASH="/" 

INFILE=`find $DIR -name "*.csv"` 

DONE=`perl myfile.pl -i $INFILE -o output.csv -l $DIR$SLASH` 

echo "File(s) are ready to use" 

echo "Press [enter] to escape" 

read terminate 
+2

'bash yourfile.sh' –

+0

Ein Automator Skript/Anwendung würde hier wahrscheinlich helfen. – Petesh

+1

Sie können eine Datei nicht auf dem System einer anderen Person ausführen. Sie haben 3 Dinge, die Sie benötigen, um dies zu erreichen: 1. das Shell-Skript, 2. das Perl-Skript (im selben Ordner wie das Shell-Skript) und 3. die Eingabe-CSV-Datei (en)? die sich auch im selben Ordner befinden (das fängt an wirklich unordentlich zu werden, da die Suche output.csv als Teil der Liste der Eingabedateien finden würde). Sie benötigen mindestens ein ausführbares Shell-Skript, um den Ball ins Rollen zu bringen, aber wie geschrieben, wird es nicht gut funktionieren. – Petesh

Antwort

1

Dateien Um ausführbare Sie hinzufügen müssen, überraschend, dass die ausführbare Datei Erlaubnis.

Dazu können Sie chmod +x filename.sh

Dies wird es laufen lassen, so dass Sie ./filename.sh und die Datei ausführen.

Sie werden sehen, wenn Sie eine ls -lah machen, wird es ein x zu den Berechtigungen auf der linken Seite hinzugefügt werden.

Sie können weiter in Benutzer/Gruppe/Welt Ausführungsberechtigungen gehen, aber das ist ein anderes Thema.

+0

Hinweis: "Ich muss eine ausführbare Datei machen, die auf jedem Mac ohne chmod + x funktioniert, nur durch Doppelklick". Ich bin mir sehr wohl bewusst, dass chmod + x wird meine Datei ausführbar auf meinem Computer machen, aber ich möchte eine ausführbare mache ich den Menschen liefern können, die aus irgendeinem Grund Terminal entgegengesetzt sind –

+0

gut dann ein (gefährlich) 'chmod 777 filename.sh 'sollte das für Sie aussortieren, obwohl ich davon abraten - überprüfen Sie die Unterschiede zwischen Benutzer/Gruppe/Welt Berechtigungen –

+0

Dies führt immer noch zu einem' "Die Datei" filename.sh "konnte nicht ausgeführt werden, weil Sie nicht angemessen Zugriffsrechte. "' auf jedem anderen System –

Verwandte Themen