小编Sum*_*man的帖子

将命令行参数转换为Bash中的数组

如何将命令行参数转换为bash脚本数组?

我想接受这个:

./something.sh arg1 arg2 arg3
Run Code Online (Sandbox Code Playgroud)

并将其转换为

myArray=( arg1 arg2 arg3 )
Run Code Online (Sandbox Code Playgroud)

这样我就可以使用myArray在脚本中进一步使用了.

这个以前的SO帖子很接近,但没有讨论如何创建数组:如何在Bash中解析命令行参数?

我需要将参数转换为常规的bash脚本数组; 我意识到我可以使用其他语言(例如Python),但需要在bash中执行此操作.我想我正在寻找一个"附加"功能或类似的东西?

更新:我还想问如何检查零参数并分配一个默认数组值,并且由于下面的答案,能够使这个工作:

if [ "$#" -eq 0 ]; then
  myArray=( defaultarg1 defaultarg2 )
else
  myArray=( "$@" )
fi
Run Code Online (Sandbox Code Playgroud)

arrays bash shell

139
推荐指数
5
解决办法
14万
查看次数

从音频文件输入中检测人声

我正在尝试实现自动录音功能,类似于Talking Tom应用程序.我使用以下代码从录音机读取输入并分析缓冲区:

 float totalAbsValue = 0.0f;
 short sample = 0;

 numberOfReadBytes = audioRecorder.read( audioBuffer, 0, bufferSizeInBytes);

 // Analyze Sound.
 for( int i=0; i<bufferSizeInBytes; i+=2 )
 {
     sample = (short)( (audioBuffer[i]) | audioBuffer[i + 1] << 8 );
     totalAbsValue += Math.abs( sample ) / (numberOfReadBytes/2);
 }

 // Analyze temp buffer.
 tempFloatBuffer[tempIndex%3] = totalAbsValue;
 float temp = 0.0f; 

 for( int i=0; i<3; ++i )
 temp += tempFloatBuffer[i];
Run Code Online (Sandbox Code Playgroud)

现在我能够检测来自录音机的语音输入,我可以分析音频缓冲区.

缓冲区被转换为浮点值,如果它增加一定量,则假设背景中有一些声音并开始录制.但问题是该应用程序开始记录所有背景噪音,包括风扇/交流管声音.

任何人都可以帮我分析缓冲区来检测人声吗?或者还有其他方法可以从录音机输入中检测人声吗?

提前致谢,

android android-audiorecord

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

if(x!= y)vs if(x == y)

我已经针对我的代码在Eclipse中运行了PMD插件,并且我正在获得类似于下面所示代码的高优先级警告:

 if(singleRequest !=null){
   // do my work
 }else{
   // do my other work
 }
Run Code Online (Sandbox Code Playgroud)

PMD说`Avoid if (x != y) ..; else ..;

错误的描述如下:

In an "if" expression with an "else" clause, avoid negation in
the test.  For example, rephrase:
if (x != y) diff(); else same();
as:
if (x == y) same(); else diff();
Most "if (x != y)" cases without an "else" are often return
Run Code Online (Sandbox Code Playgroud)

但我仍然无法理解对我的代码的影响.如果有人可以用一个例子来指导我,我将不胜感激.

java eclipse pmd

23
推荐指数
3
解决办法
9942
查看次数

Hadoop输入的最佳可拆分压缩= bz2?

我们已经意识到将GZip格式的文件归档用于Hadoop处理并不是一个好主意.GZip不可拆分,以供参考,以下是我不会重复的问题:

我的问题是:BZip2是最好的归档压缩,它允许Hadoop并行处理单个归档文件吗?Gzip肯定不是,从我的阅读LZO有一些问题.

gzip hadoop hdfs bzip2

21
推荐指数
3
解决办法
2万
查看次数

int main()函数必须在所有编译器中返回一个值吗?

为什么在C++的某些编译器中使用int main()时不必包含return语句?Turbo C++怎么样?

c++ turbo-c++

20
推荐指数
3
解决办法
1万
查看次数

亚马逊EC2计算单元和GCEU(Google计算引擎单元)

因此Google现在拥有自己的IaaS解决方案,称为Google Compute Engine.

作为云计算的重要用户,我试图弄清楚亚马逊的EC2计算单元和GCEU(谷歌的计算引擎单元)之间的区别- 确定性价比差异等.

有没有人更深入地了解这两者之间的差异?

答案:看起来像1 GCEU~ = 1 EC2计算单位.以下是接受的答案.

amazon-ec2 google-compute-engine

15
推荐指数
3
解决办法
8688
查看次数

在SQLAlchemy中动态设置__tablename__进行分片?

为了处理不断增长的数据库表,我们在表名上进行分片.所以我们可以拥有这样命名的数据库表:

table_md5one
table_md5two
table_md5three
Run Code Online (Sandbox Code Playgroud)

所有表都具有完全相同的模式.

我们如何使用SQLAlchemy并动态指定与此对应的类的表名?看起来declarative_base()类需要预先指定tablename.

最终将有太多表来从父/基类手动指定派生类.我们希望能够构建一个可以动态设置表名的类(可以作为参数传递给函数.)

python mysql orm sqlalchemy

14
推荐指数
4
解决办法
8700
查看次数

S3高可用性+备份可靠性

我对此做了一些研究,但未能找到任何实质性的答案,所以转向StackOverflow.

亚马逊S3在高可用性和可靠性方面的可靠性如何?我意识到它有SLA,但是如果AWS中的可用区(AZ)或整个区域出现故障怎么办?

我检查了亚马逊关于如何设置S3的文档.当您尝试创建存储桶时,它会说:"创建存储桶时,您可以选择一个区域来优化延迟,最小化成本或满足法规要求."

亚马逊也表示这一点(来源):"存储在任何给定的Amazon S3存储桶中的数据将在一个地理区域内的多个数据中心内复制."

因此,看起来S3数据分布在多个AZ中,但在一个区域内.

如果一个地区倒塌(以前发生过这种情况)怎么办?S3不可用吗?如果是这样,当AWS区域出现故障时,S3不是可靠的恢复备份机制,是吗?

backup high-availability reliability amazon-s3

12
推荐指数
1
解决办法
8052
查看次数

我应该在HBase中使用prefixfilter或rowkey范围扫描

如果我使用prefixfilter进行查询,我不知道为什么它会很慢.有人可以解释一下查询HBase的最佳方法,谢谢.

hbase(main):002:0> scan 'userlib',{FILTER=>org.apache.hadoop.hbase.filter.PrefixFilter.new(org.apache.hadoop.hbase.util.Bytes.toBytes('0000115831F8'))}
ROW               COLUMN+CELL                                                                                                                                
0000115831F8001   column=track:aid, timestamp=1339121507633, value=aaa                                                                                       
1 row(s) in 41.0700 seconds

hbase(main):002:0> scan 'userlib',{STARTROW=>'0000115831F8',ENDROW=>'0000115831F9'}                                                                                        
ROW               COLUMN+CELL                                                                                                                                
0000115831F8001   column=track:aid, timestamp=1339121507633, value=aaa                                                                                       
1 row(s) in 0.1100 seconds
Run Code Online (Sandbox Code Playgroud)

performance hbase filter database-scan

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

三星Galaxy S3上没有显示Toast(最新更新4.1.2)

我有一个以下面的方式显示的祝酒词:

Toast.makeText(context, "The message", Toast.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud)

我绝对肯定我正在从UI线程显示吐司,我可以补充一点,它适用于许多设备,包括Galaxy S3的旧版更新,但在最新更新后,我的吐司都没有显示.

有没有其他人经历过这个并有解决方案?

android toast galaxy samsung-mobile

8
推荐指数
2
解决办法
4024
查看次数