如何不修改$PATH环境变量访问其目录中子目录内的脚本?
不修改$PATH访问子目录脚本的可行方法
当然可行,不用改动$PATH也能直接调用子目录里的脚本,给你几个实用的办法:
创建符号链接:在已经加入$PATH的
/home/ubuntu/parent-dir/scripts目录下,给子目录里的脚本建个软链接,比如:ln -s /home/ubuntu/parent-dir/scripts/child-dir/script.sh /home/ubuntu/parent-dir/scripts/script.sh
之后直接输入script.sh就能运行目标脚本了。设置别名:在你的shell配置文件(比如
~/.bashrc或~/.zshrc)里加一行别名配置:alias script.sh='/home/ubuntu/parent-dir/scripts/child-dir/script.sh'
保存后执行source ~/.bashrc(对应bash)或source ~/.zshrc(对应zsh),之后直接敲script.sh就能运行。写shell函数:如果需要传递参数,用函数更灵活,同样在shell配置文件里加:
script.sh() { /home/ubuntu/parent-dir/scripts/child-dir/script.sh "$@" }加载配置后,运行
script.sh时还能正常传递命令行参数,和直接运行原脚本效果一致。
内容的提问来源于stack exchange,提问作者N. J
相关产品推荐
相关产品推荐

