我有一个Shell Scripts来读取输入
#!/bin/bash
echo "Type the year that you want to check (4 digits), followed by [ENTER]:"
read year
echo $year
Run Code Online (Sandbox Code Playgroud)
我正在使用JAVA APi执行这个shell脚本
ProcessBuilder pb = new ProcessBuilder("/bin/bash", "/junk/leaptest.sh");
final Process process = pb.start();
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
System.out.println("Program terminated!");
Run Code Online (Sandbox Code Playgroud)
在Java控制台中,我可以看到输出
键入要检查的年份(4位数),然后按[ENTER]:
现在问题如何在我的脚本中将值传递给Shell脚本如何读取变量"年份"
我根据建议编辑了代码,但在我们更正的地方不起作用
ProcessBuilder pb = new ProcessBuilder("/bin/bash", "-c", "/junk/leaptest.sh");
final Process process = pb.start();
InputStream is = …Run Code Online (Sandbox Code Playgroud) 我如何使用 groovy builder 支持构建上述模式
emp = empFileFactory.root()
{
emp(id: '3', value: '1')
emp(id:'24')
{
emp(id: '1', value: '2')
emp(id: '6', value: '7')
emp(id: '7', value: '1')
}
emp(id: '25')
{
emp(id: '1', value: '1')
emp(id: '6', value: '7')
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试在 groovy 中构建上述结构,有人可以解释我如何实现这一点
所有常规特殊字符#{\'} $ {"} /',需要在一个groovy字符串中由\替换为\
input : anish$spe{cial
output : anish\$spe\{cial
input : anish}stack{overflow'
output : anish\}stack\{overflow\'
Run Code Online (Sandbox Code Playgroud)
我用Java编写了一个示例程序,我想以更加流畅的方式
import java.util.regex.*;
import java.io.*;
/**
*
* @author anish
*
*/
public class EscapeSpecialChar {
public static void main(String[] args) throws IOException {
inputString();
}
private static void inputString() throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter string to find special characters: ");
String string = in.readLine();
// Escape the pattern
string = escapeRE(string);
System.out.println("output: -- " + string);
}
// …Run Code Online (Sandbox Code Playgroud) Graphite抛出无法打开的数据库文件
tail -f /etc/httpd/logs/error_log
Run Code Online (Sandbox Code Playgroud)
这是setting.py文件配置
DATABASES = {
'default': {
'NAME': '/opt/graphite/webapp/test.db',
'ENGINE': 'django.db.backends.sqlite3',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': ''
}
}
Run Code Online (Sandbox Code Playgroud)
DONE
python manage.py syncdb
Run Code Online (Sandbox Code Playgroud)
该文件存在于以下位置
[root@bash graphite]# ls -l /opt/graphite/webapp/test.db
-rw-rw-rw- 1 nobody nobody 65536 Nov 11 22:22 /opt/graphite/webapp/test.db
Run Code Online (Sandbox Code Playgroud)
它会抛出错误
[Tue Nov 11 22:24:15 2014] [error] File "/usr/lib/python2.6/site-packages/django/db/backends/util.py", line 53, in execute
[Tue Nov 11 22:24:15 2014] [error] return self.cursor.execute(sql, params)
[Tue Nov 11 22:24:15 2014] [error] File "/usr/lib/python2.6/site-packages/django/db/backends/sqlite3/base.py", line 452, in execute
[Tue Nov …Run Code Online (Sandbox Code Playgroud) 安装石墨后,访问URL时不会抛出名为defaults的模块

我的Urls.py持有以下导入
from django.conf.urls import *
from django.conf import settings
from django.contrib import admin
admin.autodiscover()
Run Code Online (Sandbox Code Playgroud)
这是我的完整堆栈跟踪
Environment:
Request Method: GET
Request URL: http://10.105.202.72/
Django Version: 1.6.8
Python Version: 2.6.6
Installed Applications:
('graphite.metrics',
'graphite.render',
'graphite.cli',
'graphite.browser',
'graphite.composer',
'graphite.account',
'graphite.dashboard',
'graphite.whitelist',
'graphite.events',
'django.contrib.auth',
'django.contrib.sessions',
'django.contrib.admin',
'django.contrib.contenttypes',
'tagging')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.middleware.gzip.GZipMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware')
Traceback:
File "/usr/lib/python2.6/site-packages/django/core/handlers/base.py" in get_response
99. resolver_match = resolver.resolve(request.path_info)
File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py" in resolve
337. for pattern in self.url_patterns:
File "/usr/lib/python2.6/site-packages/django/core/urlresolvers.py" in url_patterns
365. patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module) …Run Code Online (Sandbox Code Playgroud) 我有一个java文件有一个非常大的方法,它编译成功,但运行后抛出java.lang.ClassFormatError:类文件中的无效方法代码长度72521
我研究vm规范文件JVM将方法的最大大小限制为65536字节.JVM规范提到了这个限制
这有什么工作吗?
groovy Singleton(在Groovy 2.6中注意,如果要包含显式构造函数,必须将strict设置为false)
@Singleton( strict = false )
class test {
private test(){
//some Method call
}
private test(def x){
//some Method call
}
}
Run Code Online (Sandbox Code Playgroud)
test.groovy
def test1 = test.instance
Run Code Online (Sandbox Code Playgroud)
当我发出以下声明时,它适用于我,我可以看到defualt构造函数被调用
如何在使用第二个construcor参数时创建instanace
如果我发出
def test2 = test("anish").instance
Run Code Online (Sandbox Code Playgroud)
它抛出我的错误如何解决这个任何建议
groovy.lang.MissingMethodException: No signature of method: test.test() is applicable for argument types: (java.lang.String) values: [anish]
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:54)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:78)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151)
Run Code Online (Sandbox Code Playgroud) 如果我必须定义下面列出的变量,我可以使用'''使我的东西工作
def MainTable = '''
0S : MAKE-CALL
0# : MAKE-CALL
00 : MAKE-CALL
(=Emergency) : EMERGENCY-CALL(sip: "911 =domain =dialPhone)
(=N11) : MAKE-CALL(sip: #1v =domain =dialString)
(=SpeedDial) : MAKE-CALL(sip: #1v =domain =dialString)
(=PhoneNumber) : MAKE-CALL(sip: #1v =domain =dialPhone)
(=ImmediateVSCs) : RETURN
(=DelayedVSCs) : RETURN
(x{1-20})S : MAKE-CALL(sip: #1 =domain =dialPhone)
(x{1-20})# : MAKE-CALL(sip: #1 =domain =dialPhone)''';
Run Code Online (Sandbox Code Playgroud)
相同的变量,如果我使用单引号定义这样,它会抛出我的错误
def MainTable = '
0S : MAKE-CALL
0# : MAKE-CALL
00 : MAKE-CALL
(=Emergency) : EMERGENCY-CALL(sip: "911 =domain =dialPhone)
(=N11) : MAKE-CALL(sip: #1v …Run Code Online (Sandbox Code Playgroud) 您好,我正在尝试使用 terraform 模块导入现有资源 terraform-aws-modules/vpc/aws
这是我的模块定义
\nmodule "vpc" {\n source = "terraform-aws-modules/vpc/aws"\n\n name = "eks-dev"\n cidr = "10.0.0.0/16"\n\n azs = ["us-east-1b", "us-east-1a"]\n public_subnets = ["10.0.2.0/24", "10.0.1.0/24"]\n\n enable_nat_gateway = false\n enable_vpn_gateway = false\n\n tags = {\n Terraform = "true"\n Environment = "dev"\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n当我执行计划时
\n # module.vpc.module.vpc.aws_vpc.this[0] will be created\n + resource "aws_vpc" "this" {\n + arn = (known after apply)\n + cidr_block = "10.0.0.0/16"\n + default_network_acl_id = (known after apply)\n + default_route_table_id = (known after apply)\n + default_security_group_id …Run Code Online (Sandbox Code Playgroud) 如何在 shell 脚本中使用正则表达式验证给定的输入字符串是否为有效的十六进制值
例如:
Input var="ff:ff:fe:ff"
Run Code Online (Sandbox Code Playgroud)
有一个:分隔符值
我想将此正则表达式用于任何输入字符串
var = "ff:ff:fe:ff:fe"
var = "ff:ff:fe:ff:fe:fe:ff:ff"
\b0[xX][0-9a-fA-F]+\b
#!/bin/bash -x
var="fe:fe:fe:fe"
regex="/^([0-9A-F]+:?){4}$/"
if [[ $var =~ $regex ]]; then
echo "valid"
fi
Run Code Online (Sandbox Code Playgroud)