我正在尝试创建一个在bash中使用date命令的脚本.我熟悉date命令的基本语法.这是一个简单的脚本:
#!/bin/bash
set -x
DATE_COMMAND="date "+%y-%m-%d %H:%M:%S""
echo "$($DATE_COMMAND)"
set +x
Run Code Online (Sandbox Code Playgroud)
问题是上面的代码不起作用.这是输出:
+ DATE_COMMAND='date +%y-%m-%d'
+ %H:%M:%S
onlyDate: line 3: fg: no job control
+ echo ''
+ set +x
Run Code Online (Sandbox Code Playgroud)
好吧,问题是bash因为空间而拆分命令.我能理解,但我不知道如何避免这种情况.我试图避开空间\,以避免空间和".单引号似乎也不起作用.
请注意,我知道这个脚本可以这样写:
#!/bin/bash
set -x
DATE_COMMAND=$(date "+%y-%m-%d %H:%M:%S")
echo "$DATE_COMMAND"
set +x
Run Code Online (Sandbox Code Playgroud)
我试过了,但我不能使用这种方法,因为我想在我的脚本中多次运行该命令.
任何帮助将非常感谢!
在进行了一项研究后,我决定不知道是什么导致了以下问题!我想创建一个存储过程,如果满足一个语句,将增加列的值.我可以作为匿名块运行该过程,但我不能将其作为存储过程运行!
这是存储过程代码:
1 create or replace
2 Procedure RaiseSalary
3 Is
4 Salary number;
5 Cursor RaiseCursor
6 Is
7 Select Salary_A From Person Where Salary_A<400 for update of Salary_A;
8 Begin
9 Open RaiseCursor;
10 Loop
11 Fetch RaiseCursor Into Salary;
12 Exit When RaiseCursor%Notfound;
13 Update Person Set Salary_A=(Salary + 200) Where Current Of RaiseCursor;
14 End Loop;
15 Close RaiseCursor;
16 Commit;
17 End;
Run Code Online (Sandbox Code Playgroud)
我在第3行收到一个错误,说"遇到符号"SALARY"当期待下列之一时:......"我在第5行得到了相同的错误,在字母Cursor的"s"字母,但此时它说";" 而不是"薪水".编译器日志显示"权限不足",但我找不到合理的解释.我试图将代码作为匿名块运行,如下所示:
Declare
Salary number;
Cursor RaiseCursor
Is
Select Salary_A From Person Where …Run Code Online (Sandbox Code Playgroud) 我遇到了Diffie Hellman实现的问题.我正在使用此代码 http://www.java2s.com/Tutorial/Java/0490__Security/DiffieHellmanKeyAgreement.htm
这实际上是我正在阅读的一本书中的一个例子.但我无法理解为什么generateSecret()为每个人创造一个不同的钥匙KeyAgreement.我注意到该函数创建了不同的键,即使我用相同的KeyAgreement两次调用它!如果有人建议我会很高兴!
谢谢你的时间!