是否可以使用消息退出错误,而不使用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) 我有这个简单的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) 我有一首歌的名字,我为它节省了评分.它看起来像下面的图片,因为我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本身不存储数组这一事实,但在这种情况下无关紧要,这就是我想看到我的数据的方式.
如何删除taskwarrior中的所有重复任务,这些任务已完成,直到某个日期为止?
我试过了:
task Nevena until:07/29/2014 uuids
Run Code Online (Sandbox Code Playgroud)
列出那些在那个日期之前的那些,并收集他们的id,所以我可以管它们删除命令,但我没有得到预期的结果.
我有这个作为示例符号示例.我将如何指定在整个整个过程中每行准确地有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) 当我运行时time sassc app.scss app.css,编译时间非常快:
sassc是libsass库上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) 我正在使用:
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) 我有我的脚本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) ###########################
# 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?
什么是最好的解决方案让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'模式,作为关联数组的索引,它将行作为值...但是然后又有问题如何有一个索引的多个值?
bash ×3
arrays ×1
associative ×1
awk ×1
exit ×1
firebase ×1
gnu-parallel ×1
gruntjs ×1
herestring ×1
lilypond ×1
line ×1
measures ×1
message ×1
php ×1
prepend ×1
rsnapshot ×1
rsync ×1
sass ×1
slim ×1
taskwarrior ×1