Ruby作为面向对象的语言.这意味着我发送的任何消息,我严格地发送它在类的一些对象/实例上.
例:
class Test
def test1
puts "I am in test1. A public method"
self.test2
end
def test2
puts "I am in test2. A public Method"
end
end
Run Code Online (Sandbox Code Playgroud)
有意义我test2在self对象上调用方法
但我不能这样做
class Test
def test1
puts "I am in test1. A public method"
self.test2 # Don't work
test2 # works. (where is the object that I am calling this method on?)
end
private
def test2
puts "I am in test2. A private Method"
end
end
Run Code Online (Sandbox Code Playgroud)
当test2 …
要测试变量是否是例如大于0的数字,您可以写:
((i > 0))
Run Code Online (Sandbox Code Playgroud)
但是,我如何测试变量是否not大于0的数字?
编辑
抱歉打字错误not a number greater than 0.
编辑2
为这个可怜的问题而烦恼.变量的值作为命令行参数传递,因此它可以是数字或不是.这也需要检查.
我有两个文件:domainList和config.cnf.domainList文件只有一个域列表,如下所示:
facebook.com
yahoo.com
youtube.com
Run Code Online (Sandbox Code Playgroud)
config.cnf是一个配置文件,具有相同的列表,格式略有不同.我需要编写一个脚本,在更新列表时更新配置文件.每当更新第一个列表时,我都可以执行bash脚本.这是配置文件中列表的格式......
*other config options/entries*
[my_list]
WWW.1 = facebook.com
WWW.2 = yahoo.com
WWW.3 = youtube.com
EOF
Run Code Online (Sandbox Code Playgroud)
所以,如果删除yahoo并在domainList中添加ebay并运行我的酷bash脚本,我需要更新配置文件...
*other config options/entries*
[my_list]
WWW.1 = facebook.com
WWW.2 = youtube.com
WWW.3 = ebay.com
EOF
Run Code Online (Sandbox Code Playgroud)
为了使事情(稍微)复杂化,域可以具有子域和外卡(即news.google.com或*.google.com).任何关于如何实现这一点的想法将不胜感激!如何在不弄清楚数据的情况下如何做到这一点?它可能只需要清除列表并每次都重新生成它,是吧?
谢谢!
EV
我正在为备份编写一个bash脚本.脚本将运行curl,这将返回某个代码.
取决于此代码的结果:
如何从卷曲中读出回报?大多数人的简单脚本,但...... ;-)
我正在尝试编写一个脚本来将手册页转换为PDF文件.我现在的脚本是:
#! /usr/bin/env bash
[[ $# -ne 1 ]] && { echo "Usage: $(basename $0) [command]" ; exit 1 ; }
man -t ${1} | ps2pdf14 - > "${1}_man.pdf"
Run Code Online (Sandbox Code Playgroud)
问题是如果手册页不存在,脚本仍将继续执行,生成一个空的PDF文件.所以我想知道是否有办法确定手册页是否存在?
我有一个cron作业设置,每5分钟运行一次任务.但有时该任务需要> 5分钟才能运行,因此该任务的另一个副本由cron同时运行.在运行另一个副本之前,我们是否有办法让它等待另一个工作完成?
我想用某种速记来表达以下内容:
stuff.map {|x| puts x}
Run Code Online (Sandbox Code Playgroud)
这样的事情:
stuff.map {puts}
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚语法.有人能告诉我怎么做吗?
我目前正在使用Git Bash导航文件目录和编辑文件。我想知道是否有命令在当前目录及其中的所有目录中搜索文件名。
我正在做一个 bash 脚本,但我遇到了问题。我想更改字符串中两个字符的位置。
我的输入如下:
"aaaaa_eeeee"
Run Code Online (Sandbox Code Playgroud)
所需的输出是:
"eeeee_aaaaa"
Run Code Online (Sandbox Code Playgroud)
我不想反转字符串或其他类似的东西,我需要的是将字符“a”替换为“e”,将“e”替换为“a”。我试图制作一个echo "aaaaa_eeeee" | tr "a" "e. 第一个替换很简单,但第二个我不知道该怎么做。
为什么这不列出任何东西?谢谢
FOLDER=()
ls /tmp/backup/ | while read DIR
do
FOLDER+=("$DIR")
done
echo ${FOLDER[1]}
Run Code Online (Sandbox Code Playgroud)