小编j0h*_*j0h的帖子

shell脚本响应keypress

我有一个shell脚本,基本上就是这样的

while true; do
    read -r input
    if ["$input" = "a"]; then 
        echo "hello world"           
    fi
done
Run Code Online (Sandbox Code Playgroud)

这一切都很好,很好,但我只是意识到必须点击ENTER在这种情况下提出了一个严重的问题.我需要的是脚本在按下键时响应,而不必按Enter键.

有没有办法在shell脚本中实现此功能?

bash shell input keypress

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

打包 debian 文件:debian/copyright 文件格式?

我正在重新移植一堆代码以在旧内核上运行。(gcc 4.9 依赖项、x11、vlc 等)作为 *.deb 文件。在这个过程中,(我是包装新手)我需要创建一个版权文件。我可以有一张空白的,我知道,但我想知道,版权格式是什么?

我是否需要获取正在打包的软件的许可证?或者我可以为该包提供与源许可证不同的许可证吗?

我一直在阅读: https: //www.debian.org/doc/packaging-manuals/copyright-format/1.0/ 但我仍然对许可证和版权感到困惑,以及 *.我正在制作的 deb 文件。

有人可以澄清这一点吗?

linux debian packaging deb

6
推荐指数
1
解决办法
2276
查看次数

我如何派生一个较旧版本的github项目?

我如何派生一个较旧版本的github项目?我想分叉一个项目的特定提交,这个的提交3b5915a21a997f88fa16a6feb5b893953a06b0b5

项目:https : //github.com/aseprite/aseprite,最近的提交中断了主线。我真的很想叉版本1.1.8。

git git-commit git-fork

6
推荐指数
2
解决办法
3224
查看次数

线程函数应该返回0吗?

我有这个void函数,带有指向我线程的指针.当我去编译时,我收到警告:"控制到达非空函数的结束".如果我做

void mythread (void *arg)
Run Code Online (Sandbox Code Playgroud)

和函数我将解决编译器给出的警告,但得到一个新的警告,说:

TA.c:50:2: warning: passing argument 3 of ‘pthread_create’ from incompatible pointer type [enabled by default]
Run Code Online (Sandbox Code Playgroud)

那么,我放在return 0;"mythread"函数的末尾,然后编译.但我不确定这是否是正确的做法?

建议吗?我是一名新手程序员,正在尝试学习POSIX系统服务编程.

所以我不知道该怎么做.我应该尝试输入演员参数3吗?我怎样才能编译我的程序,并获得零警告?

#include <limits.h>
#include <pthread.h>
#include <stdio.h>

void *mythread (void *arg)
{   
    printf("This my Thread Maybe...\n");    
}

int main()
{
    pthread_t mythread_id;
    pthread_attr_t mythread_attr;
    size_t stack_size;
    int detachstate;

    pthread_attr_init (&mythread_attr);
    pthread_attr_getdetachstate(&mythread_attr, &detachstate);
    if(detachstate == PTHREAD_CREATE_DETACHED)
    {
        printf("Current Deteached state is Detached\n");
    }
    else
    {
        printf("Current Detached state is Joinable\n");
    }

    pthread_attr_setdetachstate (&mythread_attr, PTHREAD_CREATE_DETACHED);
    pthread_attr_getdetachstate (&mythread_attr, …
Run Code Online (Sandbox Code Playgroud)

c unix posix gcc-warning

4
推荐指数
1
解决办法
815
查看次数

标题用C++保护问题

我是编写自己的标题的新手,但由于必要,我必须学习.

我正在写一个标题,而我正在试图控制标题.在包含的头文件之前和之后有一个或两个下划线之间有区别吗?

拿这个假设的例子:xh

//x.h
#ifndef __X_H_INCLUDED__
#define __X_H_INCLUDED__
//functions n stuff
#endif
Run Code Online (Sandbox Code Playgroud)

与:

//x.h
#ifndef _X_H_INCLUDED_
#define _X_H_INCLUDED_
//functions n stuff
#endif
Run Code Online (Sandbox Code Playgroud)

一个或多或少比另一个好吗?有区别吗?

c++ macros header

4
推荐指数
1
解决办法
93
查看次数

如何在 OpenCV 中设置轨迹栏的默认位置?

在 OpenCV 中,使用 createTrackbar 函数,如何将默认滑块位置设置为最大值?

我有几个滑块,一些代表最小值,一些代表最大值。如果最大值的滑块从最大值 (255) 而不是最小值 (0) 开始,那就太好了。

我环顾了OpenCV 文档页面,但没有找到解决方案。

import cv2
import numpy as np

def nothing(x):
    pass

# Create a black image, a window
#img = np.zeros((300,512,3), np.uint8)
cv2.namedWindow('image')
cv2.namedWindow('hsv')
cv2.namedWindow('masq')
cap = cv2.VideoCapture(0)

# create trackbars for color change
cv2.createTrackbar('R-low','image',0,255,nothing)
cv2.createTrackbar('R-high','image',0,255,nothing)

cv2.createTrackbar('G-low','image',0,255,nothing)
cv2.createTrackbar('G-high','image',0,255,nothing)

cv2.createTrackbar('B-low','image',0,255,nothing)
cv2.createTrackbar('B-high','image',0,255,nothing)


while(1):
    ret, img = cap.read()
    # Convert BGR to HSV
    hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

    cv2.imshow('image',img)
    k = cv2.waitKey(1) & 0xFF
    if k == 27:
        break

    # get current …
Run Code Online (Sandbox Code Playgroud)

python opencv

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

从正常运行时间中获取平均负载

我想要做的是获取命令正常运行时间,并获得平均负载

$ uptime
07:01:30 up 20:29,  2 users,  load average: 0.32, 0.39, 0.54
Run Code Online (Sandbox Code Playgroud)

我有一种感觉,这是我可以用awk做的事情,但我不太清楚如何.请帮助.

bash awk command-line grep

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

Python 构建失败

我试图从源代码构建 python。杜林

\n\n
\n

$进行测试

\n
\n\n

出现此错误并导致构建失败。

\n\n
\n

=================================================== ==================== 错误:test_idna (test.test_socket.GeneralModuleTests)\n ------------------ -------------------------------------------------- -- 回溯(最近一次调用最后一次):File\n "/home/h/Downloads/Python-3.4.2/Lib/test/test_socket.py", line 1287,\n in test_idna\n socket.gethostbyname(\ '\xd0\xb8\xd1\x81\xd0\xbf\xd1\x8b\xd1\x82\xd0\xb0\xd0\xbd\xd0\xb8\xd0\xb5.python.org\')socket.gaierror: [Errno -5]没有与主机名关联的地址

\n\n

-------------------------------------------------- -------------------- 在 150.098 秒内运行 506 次测试

\n\n

失败(错误 = 1,跳过 = 24)测试 test_socket 失败 make:*** [测试]\n 错误 1

\n
\n\n

我通过在 python 源中包含俄语 URL 来绘制草图。python 被黑了吗?\n这是什么?它翻译成 ispytanie.python.org\n但我仍然不知道为什么它在那里。

\n\n

更新:\n http://ispytanie.python.org/ \n俄语页面的翻译页面不再有效。\n任何按照 Linux 安装说明运行 $make test\n 的人都可能会遇到这个错误。

\n

python makefile build

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

debian/changelog 非法包名

我是 deb 文件打包新手,当我运行 dch (来自 devtools)来制作更改日志时,我收到此警告。我尝试了几个包名称,但仍然收到此警告。已生成更改日志,但未插入包名称。我究竟做错了什么?

$dch --create -v 1.0.8 --package libXau
dch warning: illegal package name used with --package: libXau
dch: Did you see that warning?  Press RETURN to continue...
Run Code Online (Sandbox Code Playgroud)

debian packaging changelog deb

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

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

在C++中初始化多个bool

我在 C++ 程序中有一些输入标志,它们一开始都是 false。我想如果我能将它们全部初始化为 false 就好了。所以我尝试:

bool flagA, flagB, flagH = false;
Run Code Online (Sandbox Code Playgroud)

但是当我尝试这个时,标志没有正确设置。flagA 显然被初始化为true?明确设置标志是有效的。

bool flagA = false;
bool flagB = false;
bool flagH = false;
Run Code Online (Sandbox Code Playgroud)

我正在使用 g++,并且没有收到编译器错误或警告。我知道程序行为不当,因为 flagA 设置为 true 时会将程序输出发送到本地打印机。就是想。

c++ boolean

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

bitset 的名字告诉我什么?

这是一个简单的代码片段,用于给出自动日期类型的名称。所以我想知道 bitset 会有什么标识符。它返回:“St6bitsetILm32EE”。好的,bitset 是数据类型,32 是大小,我不确定这个名字还告诉我什么。我不知道 St6、I、LM 或 EE 指的是什么。澄清会很好。

// C++ program to demonstrate working of auto 
// and type inference 
#include <bits/stdc++.h> 
using namespace std; 
#define M 32  
int main() 
{ 
    auto x = 5;    //i for integer
    auto y = 3.37; //D for double
    auto ptr = &x; //Pi for pointer
    auto z = "WTF";//PKc for string or char**
    bitset <M> bset(2);
    auto k = bset; //bitset :: St6bitsetILm32EE  
     cout << typeid(x).name() << endl 
         << typeid(y).name() << endl …
Run Code Online (Sandbox Code Playgroud)

c++ bitset auto

0
推荐指数
1
解决办法
81
查看次数