如何将命令作为参数传递给 bash 脚本?在下面的脚本中,我试图这样做,但它不起作用!
#! /bin/sh
if [ $# -ne 2 ]
then
echo "Usage: $0 <dir> <command to execute>"
exit 1;
fi;
while read line
do
$($2) $line
done < $(ls $1);
echo "All Done"
Run Code Online (Sandbox Code Playgroud)
此脚本的示例用法是
./myscript thisDir echo
Run Code Online (Sandbox Code Playgroud)
执行上面的调用应该回显thisDir目录中所有文件的名称。
假设我有一面旗帜public static final boolean FLAG.在开发中,我希望它是true,但在生产中,我希望它是false.
我是否应该true在开发过程中将其设置为,并且当我们构建/发布时,有人会进入并将其更改为false?
我有一种感觉,因为它看起来很糟糕,所以不是这样的.
我应该采取什么方法?
在O(n)中很容易找到最常出现的元素.是否有更快的算法(O(logn))来做到这一点?(给定数组已排序)
我已经看到一个类被声明,其唯一的构造函数被注释@Inject.我没有看到在整个项目中任何地方都调用了一个构造函数.
所以有两个问题:
<1>什么@Inject意思?(它做了什么?为什么构造函数用它注释?)
<2>如上所述,构造函数永远不会被直接调用,这是否与它带注释的事实有关@Inject?
为什么不import one.two.*包括import one.two.three.MyClass?Java不应该有类似的东西import one.two.**吗?或者有什么理由(除了他们没有做到,不是他们不能这样做)?
谢谢
如果一个类被多次加载,那么它的static-members会多次初始化吗?我该如何检查?
我有以下线程转储,它显示了两个线程都锁定在同一个对象上。我对它的真正含义感到困惑
"pool-1-thread-2" prio=10 tid=0x00007fd6dc106000 nid=0x5d15 in Object.wait() [0x00007fd6d2067000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000007c3547770> (a java.lang.Object)
at java.lang.Object.wait(Object.java:503)
at test.TestDead$Foo.second(TestDead.java:22)
at test.TestDead$Foo.first(TestDead.java:14)
- locked <0x00000007c3547770> (a java.lang.Object)
at test.TestDead$2.run(TestDead.java:45)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Locked ownable synchronizers:
- <0x00000007c35519e8> (a java.util.concurrent.ThreadPoolExecutor$Worker)
"pool-1-thread-1" prio=10 tid=0x00007fd6dc104800 nid=0x5d14 in Object.wait() [0x00007fd6d2168000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000007c3547770> (a java.lang.Object)
at java.lang.Object.wait(Object.java:503)
at test.TestDead$Foo.second(TestDead.java:22)
at test.TestDead$Foo.first(TestDead.java:14)
- …Run Code Online (Sandbox Code Playgroud) StringBuilder bd = new StringBuilder('[');
Iterator<String> iter = names.iterator();
while (iter.hasNext()) {
bd.append(iter.next());
if (iter.hasNext()) {
bd.append(", ");
}
}
bd.append(']');
return bd.toString();
Run Code Online (Sandbox Code Playgroud)
我认为输出会看起来像[<some stuff, if any>],但它看起来像<some stuff, if any>].
到底是怎么回事?
众所周知的事实:(byte)1 ^ (byte)1结果int(按规格).
有人可以向我解释为什么没有明确的演员(从)int到以下是可能的byte吗?byte myByte = (byte)1 ^ (byte)1
另一方面,不允许以下内容:
int i = 0; byte b = i;
java ×7
algorithm ×1
annotations ×1
bash ×1
binary ×1
classloader ×1
emacs ×1
flags ×1
import ×1
inject ×1
jvm ×1
search ×1
thread-dump ×1
wildcard ×1