2016-11-02 4 views
0

Ich versuche, eine Abkürzung für einen Mac-Terminal zu schaffen, so dass, wenn ich ‚jj‘ die folgende Zeile Code schreiben in Terminal verwendet wird ausgeführt:schaffen eine Abkürzung in mac Terminal

python 5_7_16.py 

Meine Partner kann das Programm für Linux schreiben, aber er kann es nicht für Mac tun. Es gelang ihm, den Weg des Codes zu schreiben, wie

 FPTH="/Users/kylefoley/PycharmProjects/inference_engine2/inference2/Proofs/5_7_16.py" 

folgt Wenn ich die PyCharm Software bin mit diesen die ersten beiden Codezeilen sind ich, bevor ich Python 5_7_16.py

cd inference2 
cd Proofs 
verwenden können

Wir haben bereits die Python-Datei 'jj' an der richtigen Stelle gespeichert und wir können es fast zur Arbeit bringen, aber nicht ganz.

Auch Software hat drei Modi: Ausgabe zu Excel, Ausgabe zu Django, Ausgabe zu MySQL. Aus Gründen, die ich nicht verstehe, dachte mein Partner, wir müssten in unserer Datei aufschreiben, welche Art von Modus aktiv ist. Ich verstehe nicht, warum dies der Fall ist, weil all diese Informationen bereits in der Datei 5_7_16 gespeichert sind. Für den Fall, dass es hilft, hier sind die ersten Zeilen des Python-Codes.

Also hier ist was er bisher geschrieben hat, dachte noch einmal, ich verstehe nicht, warum all das notwendig ist. Ich würde denken, dass alles, was Sie müssten wäre, nur die Mac-Terminal sagen, was Code, den Sie ausführen möchten:

FPTH="/Users/kylefoley/PycharmProjects/inference_engine2/inference2/Proofs/5_7_16.py" 

vmysql=$(sed -i ‘’ -E ’s/^mysql = \(.*\)/\1/g’ $FPTH) 
vexcel=$(sed —i ‘’ E ’s/^excel = \(.*\)/\1/g’ $FPTH) 
echo $vexcel 
echo $vmysql 
if [ "$vexcel" == "True" ] ; then 
echo "Excel" 
elif [ "$vmysql" = "True" ] 
then 
echo "Mysql" 
else 
echo "Django" 
fi 
if [ "$vexcel" = "True" ] ; then 
echo "Excel is set” 
python $FPTH 
elif [ "$vmysql" = "True" ] 
then 
echo "Mysql is set” 
python $FPTH 
else 
echo “Django is set” 
cd /dUsers/kylefoley/PycharmProjects/inference_engine2 
python manage.py runserver 
fi 
+2

Dies ist eine Menge Schreiben für eine sehr einfache Sache. Gehen Sie in '~/.bash_rc' und schreiben Sie' alias jj = "python ~/inference2/Proofs/5_7_16.py" ' –

Antwort

0

Sie müssen den Alias ​​in Ihrer .bash_profile Datei hinzuzufügen. Einzelheiten überprüfen: About .bash_profile, .bashrc, and where should alias be written in?

Im Folgenden sind die Schritte zu folgen:

# Step 1: Go To home directory 
cd 

# Step 2: Edit ".bash_profile" file OR, create if not exists 
vi .bash_profile 
# In this file add entry at last as: 
# alias jj="python ~/inference2/Proofs/5_7_16.py" 
#    ^OR whatever is the path to file 

# Now, close the file 

# Step 3: Refresh bash shell environment 
source ~/.bash_profile 

Sie sind gut jj jetzt zu tun.


Von der bash manpage:

Wenn bash als interaktiv Login-Shell aufgerufen wird, oder als nicht-interaktiv Shell mit der --login Option, liest zuerst und führt Befehle aus die Datei /etc/profile, wenn diese Datei existiert. Nachdem die Datei zu lesen, sieht es für ~/.bash_profile, ~/.bash_login und ~/.profile, in dieser Reihenfolge, und liest und führt Befehle aus der ersten eine, die existiert und lesbar ist. Die --noprofile Option kann verwendet werden, wenn die Shell gestartet wird, um dieses Verhalten zu verhindern.