小编Cai*_*ife的帖子

使用shell脚本中的read命令逐行读取输入文件会跳过最后一行

我通常使用read命令逐行读取shell脚本的输入文件.如果未在输入文件blah.txt中的最后一行末尾插入新行,则下面的示例代码会产生错误的结果.

#!/bin/sh

while read line
do
echo $line
done <blah.txt
Run Code Online (Sandbox Code Playgroud)

因此,如果输入文件读取类似于 -

One 
Two
Three
Four
Run Code Online (Sandbox Code Playgroud)

我四点后没有回复,脚本无法读取最后一行,并打印出来

One
Two
Three
Run Code Online (Sandbox Code Playgroud)

现在,如果我在四个之后留下一个额外的空白行,比如,

One 
Two
Three
Four
//blank line
Run Code Online (Sandbox Code Playgroud)

输出打印所有行,包括四行.但是,当我使用cat命令读取一行时,情况并非如此; 包括最后一行在内的所有行都打印出来,而不必在末尾添加额外的空白行.

有人知道为什么会这样吗?我创建的脚本主要由其他人运行,因此没有必要在每个输入文件的末尾添加额外的空行.

我一直试图解决这个问题; 如果你有任何解决方案我会很感激(当然,cat命令是一个,但我想知道阅读不起作用的原因).

bash shell file-io parsing

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

如何在没有视图的Android游戏中实现滑动

我正试图在Android上制作一个Snake游戏,其中蛇用滑动手势移动.

我已经尝试了很多方法来完成这项工作,但它们似乎都不适合我.我没有实现一个视图 - 这会有问题吗?

这是我尝试基于之前的StackOverflow问题实现的示例 - Android:如何处理从右到左的滑动手势.

我按照指示创建了OnSwipeTouchListener.java.然而,我遇到了一些使用问题.

在GameScreen.java(这是所有触摸事件发生的地方)中,我将此作为示例添加 -

onSwipeTouchListener = new OnSwipeTouchListener() {
public void onSwipeTop() {
    Toast.makeText(MyActivity.this, "top", Toast.LENGTH_SHORT).show();
  }
public void onSwipeRight() {
    Toast.makeText(MyActivity.this, "right", Toast.LENGTH_SHORT).show();
  }
public void onSwipeLeft() {
    Toast.makeText(MyActivity.this, "left", Toast.LENGTH_SHORT).show();
  }
public void onSwipeBottom() {
    Toast.makeText(MyActivity.this, "bottom", Toast.LENGTH_SHORT).show();
  }
};

imageView.setOnTouchListener(onSwipeTouchListener);
Run Code Online (Sandbox Code Playgroud)

这会导致出现一堆错误(主要涉及imageView),并且都无法解析.

有没有人碰巧有一个替代的滑动实现特定于我的情况?

user-interface android gesture-recognition swipe android-view

13
推荐指数
2
解决办法
1022
查看次数

使用Android Camera2在视频捕捉中设置亮度/对比度

我按照指南制作了一个带有Camera2 API的视频捕捉应用,

是否有以编程方式更改视频的亮度/对比度/曝光设置的规定?我正试图拍摄一些低光视频片段,我希望增加曝光率.

这里的文档似乎只适用于静态图片.

使用Camera2 API的任何这种视频捕获方式?

video android video-capture android-camera2

10
推荐指数
1
解决办法
2136
查看次数