ls /path/to/logs/* -d | tail -n 1
こんな感じで時系列にならんだログファイルから
最新のファイルの絶対パスを取得します。
log20150101.txt
log20150102.txt
var game = new Phaser.Game(400, 490, Phaser.AUTO, 'phaser-area'); | |
var fish; | |
game.state.add('main', { | |
preload: function() { | |
game.stage.backgroundColor = '#ffffdd'; | |
// 魚の画像をロード | |
game.load.image('fish', '../../common/img/fish.png'); | |
}, | |
create: function() { | |
var segmentWidth = 400 / 10; |
ls /path/to/logs/* -d | tail -n 1
こんな感じで時系列にならんだログファイルから
最新のファイルの絶対パスを取得します。
log20150101.txt
log20150102.txt
# example | |
# fab -H [hostname] -u [user] -i [pubkey] deploy:[work dir] | |
from fabric.api import cd, run | |
def deploy(dir): | |
with cd (dir): | |
run("ls") | |
run("git pull") | |
run("npm install") | |
run("sh stop.sh") |
Copyright [yyyy] [name of copyright owner] | |
Licensed under the Apache License, Version 2.0 (the "License"); | |
you may not use this file except in compliance with the License. | |
You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software | |
distributed under the License is distributed on an "AS IS" BASIS, |
var MD5 = function() { | |
var crypto = require('crypto'); | |
return { | |
hex: function(src) { | |
var md5 = crypto.createHash('md5'); | |
md5.update(src, 'utf8'); | |
return md5.digest('hex'); | |
} | |
}; | |
}; |
var getQuery = function() { | |
var result = {}; | |
if(location.href.indexOf('?') == -1) return result; | |
var lastIndex = location.href.indexOf('#') != -1 ? location.href.indexOf('#') : location.href.length; | |
var kvs = location.href.slice(location.href.indexOf('?') + 1, lastIndex).split('&'); | |
for(var i = 0; i < kvs.length; i++) { | |
var kv = kvs[i].split('='); | |
result[kv[0]] = kv[1]; | |
} | |
return result; |
var replaceAll = function(org, before, after){ return org.split(before).join(after); }; |
var zerofill = function(num, zeros) { return (Array(zeros).join('0') + num).slice(-zeros); }; |
var loadFromFile = function(file, callback) { | |
if(!file || file.trim().length == 0) { | |
callback('file not found', null); | |
return; | |
} | |
callback(null, ("" + require('fs').readFileSync(file))); | |
}; | |
var loadFromPipe = function(callback) { | |
var text = ""; |
{ | |
"100": "Continue", | |
"101": "Switching Protocols", | |
"102": "Processing", | |
"200": "OK", | |
"201": "Created", | |
"202": "Accepted", | |
"203": "Non-Authoritative Information", | |
"204": "No Content", | |
"205": "Reset Content", |