小编Ale*_*vey的帖子

从实例中查询EC2标签

亚马逊最近添加标记EC2实例与键值对,使大量虚拟机的管理更容易一点的奇妙功能.

是否有某种方式来查询相同的方式将这些标签的一些其它用户设置的数据?例如:

$ curl http://169.254.169.254/latest/meta-data/placement/availability-zone
us-east-1d
Run Code Online (Sandbox Code Playgroud)

是否有一些类似的方式来查询标签?

amazon-ec2 amazon-web-services

92
推荐指数
9
解决办法
9万
查看次数

如何在ERB中转义ERB标记

我有一个简单的fixture.yml文件:

label:
    body: "<%= variable %>"
Run Code Online (Sandbox Code Playgroud)

问题是ERB代码被解析为加载fixture的一部分,而我实际上希望body实际上是"<%= variable%>"(非插值).

如何逃避ERB标记?

unit-testing fixture ruby-on-rails erb

78
推荐指数
1
解决办法
2万
查看次数

使用regexp验证IPv4地址

我一直试图获得有效的IPv4验证正则表达式,但没有太多运气.似乎我曾经有过它(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?(\.|$)){4},但它会产生一些奇怪的结果:

$ grep --version
grep (GNU grep) 2.7
$ grep -E '\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?(\.|$)){4}\b' <<< 192.168.1.1
192.168.1.1
$ grep -E '\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?(\.|$)){4}\b' <<< 192.168.1.255
192.168.1.255
$ grep -E '\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?(\.|$)){4}\b' <<< 192.168.255.255
$ grep -E '\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?(\.|$)){4}\b' <<< 192.168.1.2555
192.168.1.2555
Run Code Online (Sandbox Code Playgroud)

我做了一个搜索,看看是否已经被问及回答,但其他答案似乎只是显示如何确定4组1-3个数字,或者不适合我.

有任何想法吗?谢谢!

regex validation grep ip-address ipv4

61
推荐指数
11
解决办法
16万
查看次数

如何为sed替换命令使用不同的分隔符?

我正在编写一个shell脚本来创建一些配置文件.我必须替换文件中的一些模式,并且应该用路径替换一个模式.

所以我的问题是:有没有办法用路径替换我的占位符webpath而不在斜杠前面设置反斜杠?

也许有另一种工具可以做到这一点?

sed

33
推荐指数
1
解决办法
2万
查看次数

使用Travis CI在UNIX shell脚本上进行测试

背景:

我一直在使用Travis CI来完成我的PHP项目,我真的很喜欢他们如何为你提供一个图片的链接,该图片显示了项目当前版本的状态.

我目前正在使用UNIX shell脚本制作大量工具,并希望使用Travis CI来测试我的UNIX脚本.

我搜索了互联网,试图找到如何实现这一目标.我去了主网站,搜索了Stackoverflow并进行了一些谷歌搜索.

看来这是不可能的.

我目前使用shunit2来测试我的shell脚本和函数.

我的问题是:

  1. 是否可以使用Travis CI来测试shell脚本?
  2. 如果没有,我可以使用插入GitHub的替代品吗?
  3. 在shell脚本上执行集成测试的最佳方法是什么?

unix shell travis-ci shunit2

33
推荐指数
2
解决办法
1万
查看次数

将文本与vim对齐等号

我倾向于在相同的符号上对齐代码以提高可读性.由此:

$ = jQuery.sub()
Survey = App.Survey
Sidebar = App.Sidebar
Main = App.Main
Run Code Online (Sandbox Code Playgroud)

对此:

$       = jQuery.sub()
Survey  = App.Survey
Sidebar = App.Sidebar
Main    = App.Main
Run Code Online (Sandbox Code Playgroud)

在vim中有一个简单的方法吗?

vim plugins editor

32
推荐指数
5
解决办法
1万
查看次数

如何在Puppet中迭代数组

我想迭代一个存储为Facter事实的数组,并为数组的每个元素创建一个新的系统用户和一个目录,最后对AWS进行API调用.

事实的例子: my_env => [shared1,shared2,shared3]

我的问题是如何迭代木偶中的数组?

我已经尝试过Ruby DSL,但还没有成功让它工作......谢谢!

puppet

24
推荐指数
2
解决办法
5万
查看次数

如果rspec测试失败,请启动ruby调试器

通常,当测试失败时,我花了很长时间试图找出导致测试失败的原因.如果RSpec在测试失败时启动Ruby调试器会很有用,这样我就可以立即检查局部变量以深入了解原因.

我正在使用的解决方案现在看起来像这样:

# withing some test
debugger unless some_variable.nil?
expect(some_variable).to be_nil
Run Code Online (Sandbox Code Playgroud)

但是,这种方法很麻烦,因为我首先等待测试失败,然后添加调试器行,修复问题然后必须删除调试器行,而我希望它的工作更像是gdb哪个有能力启动时如果遇到异常,则无需使用debugger语句来编写代码库.

编辑:我试过普利茅斯.它对我来说还不够可靠.此外,开发历史似乎表明它不是一个非常受支持的宝石,所以我宁愿不依赖它.

更新:我试过去pry-rescue发现它很整洁.但是,我经常使用宙斯,并且想知道是否有办法让它适用pry-rescue.

rspec ruby-on-rails ruby-debug pry

19
推荐指数
4
解决办法
5999
查看次数

设置aws cloudformation template-validate的功能

我正在尝试验证Cloudformation模板.我发出的命令是:

? aws cloudformation validate-template --template-body file://template.json
Run Code Online (Sandbox Code Playgroud)

然而,我得到的回应是:

"CapabilitiesReason": "The following resource(s) require capabilities: 
  [AWS::IAM::Role]", 
Run Code Online (Sandbox Code Playgroud)

遗憾的是,我无法找到任何设置功能的方法.

你如何设置能力?

amazon-web-services aws-cloudformation

19
推荐指数
1
解决办法
6825
查看次数

awk'{print $ 9}'最后一个ls -l列,包括文件名中的任何空格

我怎么能得到awk输出$ 9 $ 10 $ 11等等,因为我的一些文件中有空格.

ls -l | awk '{print $9}'
Run Code Online (Sandbox Code Playgroud)

bash awk

16
推荐指数
2
解决办法
5万
查看次数