将目录名称传递给Ruby run语句

危险

我正在使用rerun并且sinatra足够我想要一个很好的别名,以便可以rerun ruby X.rb在X是当前目录的地方执行(即:/Users/David/Documents/Projects/sample=> rerun ruby sample.rb)。

我正在使用的命令(适应问题)是alias sin="rerun ruby ${PWD##*/}.rb"当我使用它时,它表示ruby: No such file or directory -- David.rb (LoadError)好像它是通过我的用户文件夹而不是项目文件夹传递的。

但是,当我手动获取我的.zshrcalias sz="source ~/.zshrc",该代码应在创建外壳程序时运行(我的所有其他别名都可以正常运行,因此我没有理由认为它无法正常运行))并sin再次运行时,它完全可以按预期运行。

有任何想法吗?我对bash脚本非常陌生。另外,如果重要的话,我正在使用zsh。

那个家伙

关于别名的一般规则是“如果需要询问,请改用函数”:

sin() {
  rerun ruby "${PWD##*/}.rb"
}

它按预期工作。

在您的情况下,特殊的问题${PWD##*/}是在定义别名时扩展了该别名,而不是在运行别名时扩展了该别名。您还可以通过在定义中使用单引号来修复它:

alias sin='rerun ruby "${PWD##*/}.rb"'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尝试将目录名称传递给函数时出现“是目录”错误

来自分类Dev

将语句传递给方法

来自分类Dev

排除目录名称-ruby

来自分类Dev

如何将函数名称传递给 Scala 中的 Case-Match 语句

来自分类Dev

将lambda参数传递给include语句

来自分类Dev

尝试将命令传递给if语句

来自分类Dev

将R变量传递给sql语句

来自分类Dev

将LaTeX语句的内容传递给命令

来自分类Dev

将变量传递给mysql语句

来自分类Dev

在BASH中,如何在递归“查找”的文件的复制语句中引用目录名称

来自分类Dev

htaccess重写并传递顶级目录名称

来自分类Dev

如何通过将目录名称作为参数传递来递归创建输出文件?

来自分类Dev

Python将值传递给return语句函数

来自分类Dev

使用新语句将值传递给构造函数

来自分类Dev

如何将JavaScript语句传递给函数?

来自分类Dev

Spring Batch Database Dependency将参数传递给SQL语句

来自分类Dev

C#将重复参数传递给DataTable SQL语句

来自分类Dev

如何将数组传递给更新语句?

来自分类Dev

将PDO准备好的语句传递给变量

来自分类Dev

if语句后如何将命名参数传递给函数?

来自分类Dev

将VBA可变日期传递给SQL语句

来自分类Dev

将表名传递给存储过程的into语句

来自分类Dev

Ruby:将数组项传递到case语句中

来自分类Dev

获取目录名称

来自分类常见问题

如何通过docker run将参数传递给Shell脚本

来自分类Dev

将.go文件作为附加参数传递给`go run`

来自分类Dev

无法将Maven属性传递给ant run插件

来自分类Dev

如何将args传递给docker run for python?

来自分类Dev

C# Task.run(),将参数传递给