进入文件目录并在该目录中执行命令的别名

进入文件目录并在该目录中执行命令的别名

我正在尝试编写两个命令别名,一个用于获取文件(而不是目录路径)并 cd 进入其目录。以下是我的尝试。

alias godir='cd $(dirname $1)'

然而这导致

bash cd: {file path} not a directory

但是当我手动指定文件路径时它可以工作。

然后我会将其扩展为类似

alias execdircmd='cd $(dirname $1) && $2 $1'

因此我可以将单个文件传递给命令移动到其目录中,然后在其上运行命令,而无需将该目录添加到我的 PATH 中。

有什么建议/解决办法吗?

答案1

答案涉及编写一个基本函数。

谢谢卡米尔·马乔罗夫斯基

execdircmd () {   cd $(dirname $1); $2 $1; }

相关内容