我试图在终端中编译fortran1.f95
文件夹中的~/
文件,因此我运行了gfortran -x f95 -o fortran1 ~/fortran1.f95
。我做了几个终端alias
,这里是:
alias e1f95c="gfortran -x f95 -o fortran1 ~/fortran1.f95"
alias e1f95cr="gfortran -x f95 -o fortran1 ~/fortran1.f95; open ~/fortran1"
alias e1f95e="open ~/fortran1.f95"
alias e1f95r="open ~/fortran1"
我写了e1
代表“ exercise1”,f95
代表了编译语言规范,c, r, cr, e
代表了“编译,运行,编译,运行,编辑”。
这是我的问题:我不知道如何在添加更多文件时创建灵活的别名,例如,当我创建一个名为fortran2
的新文件时,我想运行{{1} }并获得相同的结果。
我尝试过的:发现有一个名为e2f95cr
的文件,可以将其编码为执行我想要的操作,但是我找不到它,也不知道打开后如何继续它。
非常感谢您阅读。
答案 0 :(得分:0)
.bashrc
文件位于您的主目录中。尝试ls -la ~
-如果在那里看不到它,那是因为它不存在,因此可以创建一个。
在某些情况下,bash不会处理该文件,因此您可以将此行放入~/.bash_profile
或~/.profile
(以存在的任何一个为准)
[[ -r ~/.bashrc ]] && . ~/.bashrc
现在,关于您的别名问题:我可能会做类似的事情
# a function
do_f95() {
local action=$1 exercise=$2
if [[ -z $exercise ]]; then
echo "error: specify the exercise number" >&2
echo "usage: $FUNCNAME action exerciseNum" >&2
return 1
fi
local filebase="$HOME/fortran${exercise}"
local compile=false run=false
case "$action" in
e) open "$filebase.f95"; return ;;
c) compile=true ;;
r) run=true ;;
cr) compile=true; run=true ;;
*) echo "error: unknown action" >&2; return 1 ;;
esac
$compile && gfortran -x f95 -o "$filebase" "$filebase.f95"
$run && open "$filebase"
}
# some aliases
alias fc='do_f95 c'
alias fcr='do_f95 cr'
alias fr='do_f95 r'
alias fe='do_f95 e'
然后您将使用它:
fe 1 # to edit ~/fortran1.f95
fc 1 # to compile it
fr 1 # to run it
您可以指定任何练习编号,它将使用适当的~/fortranN.f95
文件