我试图为mac终端创建一个快捷方式,以便在我写“jj'终端中使用的以下代码行将运行:
python 5_7_16.py
我的合作伙伴可以为Linux编写程序,但他无法为Mac执行此操作。他设法写下代码的路径如下
FPTH="/Users/kylefoley/PycharmProjects/inference_engine2/inference2/Proofs/5_7_16.py"
当我使用pycharm软件时,这些是我在使用python之前使用的前两行代码5_7_16.py
cd inference2
cd Proofs
我们已经有了python文件' jj'保存在正确的位置,我们几乎可以让它工作但不完全。
另外,软件有三种模式:输出到excel,输出到django,输出到mysql。由于我不理解我的合作伙伴的原因,我们需要在我们的文件中写下什么类型的模式是活跃的。我不明白为什么会这样,因为所有这些信息都已存储在5_7_16文件中。以防它有用,这里是python代码的第一行。
excel = True
mysql = False
if not excel and not mysql:
from inference2.models import Define3, Archives, Input
from inference2 import views
if mysql:
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
print BASE_DIR
sys.path.append(BASE_DIR)
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "inference_engine2.settings")
import django
django.setup()
from inference2 import views
from inference2.models import Define3, Archives, Input
所以这是他到目前为止写的内容,再想一想,我不明白为什么这一切都是必要的。我认为你所需要的就是告诉mac终端你要运行什么代码:
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
答案 0 :(得分:0)
您需要在.bash_profile
文件中添加别名。
有关详细信息,请查看:About .bash_profile, .bashrc, and where should alias be written in?
以下是要遵循的步骤:
# 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
现在你很高兴jj
。
来自bash手册页:
当bash被调用为 交互式登录shell,或作为 非交互式shell
--login
选项,它首先从文件中读取并执行命令/etc/profile
,如果该文件存在。 在阅读该文件后,它会查找~/.bash_profile
,~/.bash_login
和。{~/.profile
,按此顺序,并阅读 并执行第一个命令 一个存在且可读的。该 启动shell以禁止此操作时,可以使用--noprofile
选项 行为。