Skip to content

Instantly share code, notes, and snippets.

View qizhihere's full-sized avatar

littleqz qizhihere

  • WuHan, Hubei Province, China
View GitHub Profile
#this script can never fail
#i use it in the fish_config
#call it with start_agent
setenv SSH_ENV $HOME/.ssh/environment
function start_agent
if [ -n "$SSH_AGENT_PID" ]
ps -ef | grep $SSH_AGENT_PID | grep ssh-agent > /dev/null
@qizhihere
qizhihere / merge-table.lua
Created July 4, 2015 07:47
merge two tables in lua
function table.merge(t1, t2)
for k,v in ipairs(t2) do
table.insert(t1, v)
end
return t1
end
@qizhihere
qizhihere / btrfs-snapshot-backup.sh
Last active August 29, 2015 14:24
A simple script which package the latest btrfs snapshot(automically made by snapper) into a .tgz archive
#!/usr/bin/env bash
LOCK=/tmp/.$(basename "$0").lock
exec 200<>"$LOCK"
flock -n 200 || abort
# btrfs paritition which contains snapshots
BTRFS_DEV=/dev/sda1
# target paritition where backup archives will be saved
@qizhihere
qizhihere / check-command.sh
Created July 3, 2015 13:49
check if all commands exist
command-exist-p () {
local _command_exist=0
for i in "$@"; do
type -a "$i" &>/dev/null || _command_exist=1
done
return $_command_exist
}
@qizhihere
qizhihere / is_mounted.sh
Created July 3, 2015 11:34
check if the specific device has been mounted
is_mounted () {
if [ $# -eq 1 ]; then
if [ ! -b "$1" ]; then
echo "error: invalid device:$1"
return 1
elif df | awk '{print $1}' | grep "$1" &>/dev/null; then
return 0
else
return 1
fi
@qizhihere
qizhihere / docker-export-import-all.sh
Last active August 29, 2015 14:23
export/import all docker images
# export all images to current directory
for i in $(sudo docker images | sed -n "2,\$p" | awk '{print $1":"$2}'); do
sudo docker save $i > $(echo -n $i | tr '/' '_').tar
done
# import all images from current directory
for i in $(ls *.tar); do sudo docker load < $i; done
@qizhihere
qizhihere / select-all.js
Last active September 8, 2015 08:15
select/unselect all table rows using jQuery
/* disable text selection at double clicking */
$.fn.disableSelection = function() {
return this.attr('unselectable', 'on')
.css({
'-moz-user-select': '-moz-none',
'-moz-user-select': 'none',
'-o-user-select': 'none',
'-khtml-user-select': 'none',
'-webkit-user-select': 'none',
@qizhihere
qizhihere / disable-select.js
Created June 23, 2015 13:41
disable double click text selection using jQuery
$.fn.disableSelection = function() {
return this.attr('unselectable', 'on')
.css({
'-moz-user-select': '-moz-none',
'-moz-user-select': 'none',
'-o-user-select': 'none',
'-khtml-user-select': 'none',
'-webkit-user-select': 'none',
'-ms-user-select': 'none',
@qizhihere
qizhihere / add-load-event.js
Created June 22, 2015 03:17
add multiple window.onload events
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
@qizhihere
qizhihere / load-script.js
Last active September 9, 2015 11:17
load script with js
function loadScript(url, callback) {
// Adding the script tag to the head as suggested before
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
// Then bind the event to the callback function.
// There are several events for cross browser compatibility.
script.onreadystatechange = callback;