小编Cha*_*ffy的帖子

你见过的源库最聪明的用途是什么?

这实际上源于我之前的问题,其中一个答案让我想知道人们如何以不同的方式使用scm/repository进行开发.

version-control

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

在自制安装脚本中绕过提示(按回车)

安装自制软件的非常简单的脚本:

  #!/bin/bash

  ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
Run Code Online (Sandbox Code Playgroud)

输出给出:

==> This script will install:
/usr/local/bin/brew
/usr/local/Library/...
/usr/local/share/man/man1/brew.1

Press RETURN to continue or any other key to abort
Run Code Online (Sandbox Code Playgroud)

如何在这样的脚本中按Enter键?期望是最好的路线?

bash homebrew

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

蓝牙RFCOMM/SDP连接到Android中的RS232适配器

我正在尝试使用谷歌提供的蓝牙聊天示例API应用程序连接到连接到另一台设备的蓝牙RS232适配器.这是应用程序供参考:

http://developer.android.com/resources/samples/BluetoothChat/index.html

以下是RS232连接器的规格表,仅供参考:

http://serialio.com/download/Docs/BlueSnap-guide-4.77_Commands.pdf

那么问题是,当我连接到设备时:

mmSocket.connect(); (BluetoothSocket::connect())
Run Code Online (Sandbox Code Playgroud)

我总是得到IOExceptionconnect()方法抛出的错误.当我toString对异常进行处理时,我得到"服务发现失败".我的问题主要是什么导致IOException在连接方法中被抛出的情况?我知道那些是在某个地方的源代码,但我不确切知道你编写应用程序的java层和包含实际堆栈接口的C/C++层.我知道它使用的是用C/C++编写的bluez蓝牙堆栈,但不确定它是如何与java层绑定的,这就是我认为抛出异常的东西.指点我可以尝试解剖这个问题的任何帮助都是不可思议的.

还要注意我能够与RS232适配器配对,但我永远无法实际连接.以下是logcat输出以获取更多参考:

I/ActivityManager( 1018): Displayed activity com.example.android.BluetoothChat/.DeviceListActivity: 326 ms (total 326 ms)
E/BluetoothService.cpp( 1018): stopDiscoveryNative: D-Bus error in StopDiscovery: org.bluez.Error.Failed (Invalid discovery session)
D/BluetoothChat( 1729): onActivityResult -1
D/BluetoothChatService( 1729): connect to: 00:06:66:03:0C:51
D/BluetoothChatService( 1729): setState() STATE_LISTEN -> STATE_CONNECTING
E/BluetoothChat( 1729): + ON RESUME +
I/BluetoothChat( 1729): MESSAGE_STATE_CHANGE: STATE_CONNECTING
I/BluetoothChatService( 1729): BEGIN mConnectThread
E/BluetoothService.cpp( 1018): stopDiscoveryNative: D-Bus error in StopDiscovery: org.bluez.Error.Failed (Invalid discovery session)
E/BluetoothEventLoop.cpp( 1018): …

android bluetooth rfcomm

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

Bash关联数组按值排序

我得到以下输出:

Pushkin - 100500 
Gogol - 23 
Dostoyevsky - 9999
Run Code Online (Sandbox Code Playgroud)

以下脚本的结果如下:

for k in "${!authors[@]}"
do
    echo $k ' - ' ${authors["$k"]}
done   
Run Code Online (Sandbox Code Playgroud)

我想要的是得到这样的输出:

Pushkin - 100500 
Dostoyevsky - 9999
Gogol - 23
Run Code Online (Sandbox Code Playgroud)

这意味着关联数组中的键应按值排序.有一个简单的方法吗?

sorting bash associative-array

20
推荐指数
5
解决办法
2万
查看次数

使用jq从管道分隔键和bash中的值创建JSON

我试图从bash中的字符串创建一个json对象.字符串如下.

CONTAINER|CPU%|MEMUSAGE/LIMIT|MEM%|NETI/O|BLOCKI/O|PIDS
nginx_container|0.02%|25.09MiB/15.26GiB|0.16%|0B/0B|22.09MB/4.096kB|0
Run Code Online (Sandbox Code Playgroud)

输出来自docker stats命令,我的最终目标是将自定义指标发布到aws cloudwatch.我想将此字符串格式化为json.

{
    "CONTAINER":"nginx_container",
    "CPU%":"0.02%", 
    ....
}
Run Code Online (Sandbox Code Playgroud)

我之前使用过jq命令,看起来它应该在这种情况下运行良好,但我还没有找到一个好的解决方案.除了硬编码变量名和使用sed或awk索引.然后从头开始创建一个json.任何建议,将不胜感激.谢谢.

bash json docker jq

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

Airflow:如何从其他服务器SSH和运行BashOperator

有没有办法ssh到不同的服务器并使用Airbnb的Airflow运行BashOperator?我正在尝试使用Airflow运行hive sql命令,但我需要SSH到另一个框以运行hive shell.我的任务应如下所示:

  1. SSH到server1
  2. 启动Hive shell
  3. 运行Hive命令

谢谢!

python ssh airflow

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

R.id无法解决

所以我从谷歌的Android网站上复制了这个教程的例子,我得到一个错误,即R.id无法解决.

这是我的Java文件

package com.TestApp.HelloWebView;

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;

public class HelloWebView extends Activity {
    WebView mWebView;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        mWebView = (WebView) findViewById(R.id.webview);
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.loadUrl("http://www.google.com");
    }

}
Run Code Online (Sandbox Code Playgroud)

这是我的 res/layout/main.xml

<?xml version="1.0" encoding="utf-8"?>

<WebView android:id="@+id/webview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"/>
Run Code Online (Sandbox Code Playgroud)

java eclipse android

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

在Bash中列出已定义的函数

我正在尝试在bash中编写一些代码,它使用内省来选择要调用的相应函数.

确定候选者需要知道定义了哪些功能.仅使用参数扩展在bash中列出已定义的变量很容易:

$ prefix_foo="one"
$ prefix_bar="two"
$ echo "${!prefix_*}"
prefix_bar prefix_foo
Run Code Online (Sandbox Code Playgroud)

但是,为函数执行此操作似乎需要过滤set的输出 - 这是一种更随意的方法.

有正确的方法吗?

bash introspection

16
推荐指数
3
解决办法
6003
查看次数

为什么在bash脚本中需要"declare -f"和"declare -a"?

抱歉这么无辜的问题 - 我只是试着去...

例如 - 我有:

$ cat test.sh
#!/bin/bash
declare -f testfunct

testfunct () {
echo "I'm function"
}

testfunct

declare -a testarr

testarr=([1]=arr1 [2]=arr2 [3]=arr3)

echo ${testarr[@]}
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到:

$ ./test.sh
I'm function
arr1 arr2 arr3
Run Code Online (Sandbox Code Playgroud)

所以这是一个问题 - 我必须(如果必须......)插入declare这里?随着它 - 或没有它它的工作原理相同......

我可以理解例如declare -i vardeclare -r var.但是对于什么是-f(声明函数)和-a(声明数组)?

感谢您的提示和链接.

bash function declare

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

在bash中循环使用多对值

我有10个文本文件,我希望paste每个文件都有一对,这样我就有5个文件.

我尝试了以下方法:

for i in 4_1 5_1 6_1 7_1 8_1
do
for j in 4_2 5_2 6_2 7_2 8_2
do
paste ${i}.txt ${j}.txt > ${i}.${j}.txt
done
done
Run Code Online (Sandbox Code Playgroud)

但是,此代码组合了所有可能的组合,而不是仅仅组合匹配对.

所以我想文件4_1.txt与配对4_2.txt,5_1.txt5_2.txt

bash for-loop paste nested-loops

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