我需要如何编写Bash脚本(不是别名)来导航到我的项目文件夹。
例如,当我写(没有任何参数)时
$Projects
它应该运行以下命令
$cd ~/Abdelrahamn/Projects
但如果我写这样的论点
$Projects Proj1
它应该运行以下命令
$cd ~/Abdelrahamn/Projects/Proj1
答案 0 :(得分:2)
你的脚本应该是这样的:
cd ~/Abdelrahamn/Projects/$1
如果~/.profile
或~/.bashrc
内的某个功能被接受,这将很简单:
Project() { cd ~/Abdelrahamn/Projects/$1; }
答案 1 :(得分:1)
您需要编写一个函数来完成此操作并将其放在.bash_profile或.bashrc中。 Shell脚本在子shell中执行,一旦脚本退出子shell退出,就会离开交互式shell。
Project () {
project_path="/home/user/path/to/projects/"
if [ $# -eq 1]; then
cd "$project_path$1"
else
cd "$project_path"
fi
}
答案 2 :(得分:0)
根据您的需要,哈希可能是一个不错的选择。一个完整的脚本似乎有点矫枉过正。在你的〜/ .zshrc.local中(或者在调用它的任何脚本中更早),添加:
hash -d project=~/Abdelrahamn/Projects
然后您可以像通常所说的那样使用cd
,但在开头使用nameddir / hash。例如:
cd ~project
cd ~project/foo
会转换为:
cd ~/Abdelrahamn/Projects
cd ~/Abdelrahamn/Projects/foo