小编bra*_*ito的帖子

在bash(oneline)中退出并显示错误消息

是否可以使用消息退出错误,而不使用if语句?

[[ $TRESHOLD =~ ^[0-9]+$ ]] || exit ERRCODE "Threshold must be an integer value!"
Run Code Online (Sandbox Code Playgroud)

当然,右侧||不起作用,只是为了让您更好地了解我想要完成的任务.

实际上,我甚至不介意它将退出哪个ERR代码,只是为了显示消息.

编辑

我知道这会有效,但如何numeric arg required在我的自定义消息后抑制显示?

[[ $TRESHOLD =~ ^[0-9]+$ ]] || exit "Threshold must be an integer value!"
Run Code Online (Sandbox Code Playgroud)

bash message exit

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

Slim - 如何使用"Content-Type:application/json"标题发送响应?

我有这个简单的REST api,在Slim中完成,

<?php

require '../vendor/autoload.php';

function getDB()
{
    $dsn = 'sqlite:/home/branchito/personal-projects/slim3-REST/database.sqlite3';

    $options = array(
        PDO::ATTR_PERSISTENT => true,
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
    );
    try {

        $dbh = new PDO($dsn);

        foreach ($options as $k => $v)
            $dbh->setAttribute($k, $v);

        return $dbh;
    }
    catch (PDOException $e) {
        $error = $e->getMessage();
    }
}

$app = new \Slim\App();

$app->get('/', function($request, $response) {
    $response->write('Bienvenidos a Slim 3 API');
    return $response;
});

$app->get('/getScore/{id:\d+}', function($request, $response, $args) {

    try {
        $db = getDB();
        $stmt = $db->prepare("SELECT * FROM students
            WHERE …
Run Code Online (Sandbox Code Playgroud)

php slim

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

在Firebase中存储类似数组值的正确方法

我有一首歌的名字,我为它节省了评分.它看起来像下面的图片,因为我push()用来存储每个新的评级.

数据示例

但我想看到的是,ratings作为一个对象数组,每个包含这样的东西:

voter: {
    ip: "1.1.1.1",
    stars: 3,
}
Run Code Online (Sandbox Code Playgroud)

所以rating关键最终会是这样的:

rating: [{ip: "1.1.1.1", stars: 3}, ...]
Run Code Online (Sandbox Code Playgroud)

然后,我只能为每个IP地址启用一个投票.我在Firebase文档中找不到的 是如何添加到现有密钥,在这种情况下rating(但它会像[list,like]) - hash像上面那样的新东西.因为push()自动创建hash-key值,我想附加到现有密钥.

编辑: 我知道 Firebase本身不存储数组这一事实,但在这种情况下无关紧要,这就是我想看到我的数据的方式.

arrays firebase

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

taskwarrior,删除旧的定期任务

如何删除taskwarrior中的所有重复任务,这些任务已完成,直到某个日期为止?

我试过了:

task Nevena until:07/29/2014 uuids
Run Code Online (Sandbox Code Playgroud)

列出那些在那个日期之前的那些,并收集他们的id,所以我可以管它们删除命令,但我没有得到预期的结果.

taskwarrior

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

在lilypond采取一些措施后,突破线

我有这个作为示例符号示例.我将如何指定在整个整个过程中每行准确地有4个度量.我搜索了整个文档,但没有找到这么简单的功能.我错过了什么吗?

\version "2.18.2"

% comment line

\header {
    title = "Ruska narodna pesma."
    composer = "Narodna pesma"
    subtitle = "-za gitaru-"
}

melody = {
    \key c \major
    \time 3/4

    e' f e |
    e, gis b |
    d c b |
    a c e |
}

\score {
    \relative c' <<
        \new Staff \melody
    >>
    \layout {
    }
}
Run Code Online (Sandbox Code Playgroud)

line lilypond measures

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

Grunt使用grunt-sass(libsass包装器),编译时间慢

当我运行时time sassc app.scss app.css,编译时间非常快: sassclibsass库上C实现的命令行包装器.

real    __0m0.132s__
user    0m0.123s
sys 0m0.007s
Run Code Online (Sandbox Code Playgroud)

使用时,不过grunt-sass这是Node.js包装的libsass,我里面Gruntfile.js,我得到的要慢得多的输出:

Running "watch" task
Waiting...
File "stylesheets/sass/app.scss" changed.
Running "sass:compile" (sass) task
File ./stylesheets/app.css created.

Done, without errors.
Completed in __1.759s__ at Sat May 24 2014 18:17:33 GMT+0200 (CEST) - Waiting...
Run Code Online (Sandbox Code Playgroud)

这是我的相关部分Gruntfile.js,也许我在这里做错了:

module.exports = function(grunt) {

    grunt.initConfig({

        project: {
            app: '.',
            sheets: '<%= project.app %>/stylesheets',
            sass: [ '<%= project.sheets %>/sass/app.scss',
            ],
            js: [],
        }, …
Run Code Online (Sandbox Code Playgroud)

sass gruntjs

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

在 bash 中将 **heredoc** 添加到文件中

我正在使用:

cat <<<"${MSG}" > outfile
Run Code Online (Sandbox Code Playgroud)

首先向 写入消息outfile,然后继续进行进一步处理,这将附加到outfile我的 awk 脚本中。

但现在已逻辑在我的计划改变了,所以我得先填入 outfile从我的附加线awk计划(从我的bash脚本外部调用),然后在最后一步前插是$ {}味精heredoc我的头outfile。 .

我怎么能从我的 bash 脚本而不是 awk 脚本中做到这一点?

编辑

这是味精heredoc

read -r -d '' MSG << EOF
-----------------------------------------------
--   results of processing - $CLIST
--   used THRESHOLD ($THRESHOLD)
-----------------------------------------------
l
EOF
# trick to pertain newline at the end of a message
# see here: http://unix.stackexchange.com/a/20042
MSG=${MSG%l}
Run Code Online (Sandbox Code Playgroud)

bash prepend herestring

5
推荐指数
3
解决办法
1094
查看次数

使用gnu parallel运行bash脚本

我有我的脚本while read用于逐行处理一些文件..

当我做:

head -n5 file1 | ./myscript.sh
Run Code Online (Sandbox Code Playgroud)

我的结果很好.

但尝试使用gnu并行化它parallel:

head -n5 file1 | parallel -j 4 ./myscript.sh
Run Code Online (Sandbox Code Playgroud)

产生result文件空!?

我也尝试过:

parallel -j 4 -a file1 ./myscript.sh
Run Code Online (Sandbox Code Playgroud)

但仍然无法正常工作.我试图做类似于他们在文档中所说的内容,但没有任何成功.我究竟做错了什么?

编辑:

也许这可以帮助:

head -n5 file1 | parallel -a - -j 4 echo #this works
head -n5 file1 | parallel -a - -j 4 ./myscript #this doesn't
Run Code Online (Sandbox Code Playgroud)

parallel-processing bash gnu-parallel

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

rsnapshot,多个备份目标

###########################
# SNAPSHOT ROOT DIRECTORY #
###########################

# All snapshots will be stored under this root directory.
#
snapshot_root   /.snapshots/


###############################
### BACKUP POINTS / SCRIPTS ###
###############################

# LOCALHOST
# 1st dir to backup
backup  /home/username/some_dir/to_backup/  localhost/
# 2nd dir to backup
backup  /home/username/another_dir/to_backup/   localhost/
#backup /foo/bar/   localhost/  one_fs=1, rsync_short_args=-urltvpog
#backup_script  /usr/local/bin/backup_pgsql.sh  localhost/postgres/
Run Code Online (Sandbox Code Playgroud)

现在使用这些设置,所有备份将.snapshots在我的根目录下的目录中保留目标,从而保持层次结构.

所以我会:

/.snapshots/localhost/home/username/some_dir/to_backup
Run Code Online (Sandbox Code Playgroud)

是否有可能2nd dir to backup有另一个目的地,例如我的/home/username/backup-scripts

rsync rsnapshot

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

awk关联数组,模式为索引

什么是最好的解决方案让awk存储搜索模式以及在数组中找到它的行..我需要一个shell脚本,或者它只能使用awk来完成..

所以,例如,如果我搜索单词'guitar',它会产生一个数组,其中包含例如在第13,18和89行找到该单词的信息?

awk '/home/ {
array[$0] = NR 
}
END {
for(i in array) print i, array[i] }' 1-1000.txt
Run Code Online (Sandbox Code Playgroud)

例如,这将打印与找到它们的数字相匹配的行..但我不需要$ 0但是'home'模式,作为关联数组的索引,它将行作为值...但是然后又有问题如何有一个索引的多个值?

awk associative

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