Linux终端:更改目录时运行命令
发布时间:2020-12-14 01:46:46 所属栏目:Linux 来源:网络整理
导读:我在 Linux环境中工作,需要为不同的工作区域加载某些模块.它们由各个文件系统目录分隔. 我想知道在输入目录时是否有一种简单的方法来运行不同的1行命令.我对使用的shell类型很灵活,但我目前正在使用C Shell. 解决方法 如果你使用bash,我建议你创建一个这样的
我在
Linux环境中工作,需要为不同的工作区域加载某些模块.它们由各个文件系统目录分隔.
我想知道在输入目录时是否有一种简单的方法来运行不同的1行命令.我对使用的shell类型很灵活,但我目前正在使用C Shell. 解决方法
如果你使用bash,我建议你创建一个这样的函数:
function custom_cd() { custom_command $1; cd $1; } alias cd='custom_cd' 在这里,您的自定义命令可以是根据您输入的目录执行特定命令的任何内容. 之后声明的别名确保键入’cd’将调用该函数和真正的cd命令. 编辑:一个满足您需求的示例 function custom_cd() { if [ -z "$1" ]; then target=~ else target=$1 fi target=${target%/} parent=$(dirname `readlink -f $target`) grand_parent=`dirname $parent` script=$grand_parent/`basename $target`.sh if [ -x $script ]; then `$script` fi cd $1 } 说明: 我们创建一个包含您要输入的目录的父变量的变量. 然后检查该文件名的可执行性,如果是,则执行脚本,最后执行真正的cd命令. 小心在别名之前定义函数,否则会导致无限递归! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |