Skip to content

Instantly share code, notes, and snippets.

View StudioEtrange's full-sized avatar
💫

StudioEtrange StudioEtrange

💫
View GitHub Profile
@StudioEtrange
StudioEtrange / is_sourced.sh
Created March 28, 2018 23:06
shell detect if sourced
# https://stackoverflow.com/a/28776166
sourced=0
if [ -n "$ZSH_EVAL_CONTEXT" ]; then
case $ZSH_EVAL_CONTEXT in *:file) sourced=1;; esac
elif [ -n "$KSH_VERSION" ]; then
[ "$(cd $(dirname -- $0) && pwd -P)/$(basename -- $0)" != "$(cd $(dirname -- ${.sh.file}) && pwd -P)/$(basename -- ${.sh.file})" ] && sourced=1
elif [ -n "$BASH_VERSION" ]; then
[ "$0" != "$BASH_SOURCE" ] && sourced=1
else # All other shells: examine $0 for known shell binary filenames
# Detects `sh` and `dash`; add additional shell filenames as needed.
@StudioEtrange
StudioEtrange / lvm-commands.sh
Last active April 2, 2018 21:56
LVM and disk commands
# List block devices
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 238.5G 0 disk
├─sda1 8:1 0 200M 0 part /boot/efi
├─sda2 8:2 0 500M 0 part /boot
└─sda3 8:3 0 237.8G 0 part
├─fedora-root 253:0 0 50G 0 lvm /
├─fedora-swap 253:1 0 2G 0 lvm [SWAP]
└─fedora-home 253:2 0 185.9G 0 lvm
@StudioEtrange
StudioEtrange / github-pr-stat.sh
Created January 31, 2018 14:44
Will scan a github repo to compute some statistics on PR
#!/usr/bin/env bash
# Will scan a github repo to compute some statistics on PR
# requires curl and bc (presents on most unix like system)
# PARAMETERS ----------------------------
# Github repo to scan
GITHUB_REPO="status-im/status-react"
@StudioEtrange
StudioEtrange / treegen.sh
Created January 25, 2018 02:51 — forked from pravj/treegen.sh
bash script to generate tree structure of a directory
#!/usr/bin/env bash
# bash script to generate tree structure of a directory
# Pravendra Singh (@hackpravj)
pwd=$(pwd)
find $pwd -print | sed -e "s;$pwd;\.;g;s;[^/]*\/;|__;g;s;__|; |;g"
@StudioEtrange
StudioEtrange / docker bind mount and docker volume equivalent.md
Last active July 22, 2019 22:53
docker : bind mount and docker volume equivalent
  • BIND MOUNT INSIDE CONTAINER
docker run -v /path/on/host:/data busybox ls /data
  • Equivalent way but managed with "docker volume" - This do not work with file, only with directory
docker volume create --opt type=none --opt device=/path/on/host --opt o=bind my_vol
docker run -v my_vol:/data busybox ls /data
@StudioEtrange
StudioEtrange / some docker root problem on a basic installation.md
Last active January 31, 2018 14:30
docker root problem on a basic installation
  • The user lauching alpine docker image is member of docker group. As he does not need sudo to use docker
sudo ls -al /root
drwx------  3 root root 4096 août   9  2015 .
drwxr-xr-x 25 root root 4096 févr. 11  2017 ..
-rw-r--r--  1 root root 3106 févr. 20  2014 .bashrc
-rw-r--r--  1 root root  140 févr. 20  2014 .profile
-rw-r--r-- 1 root root 36 janv. 5 2015 .smbcredentials
sudo lsof -i -n -P | grep TCP
@StudioEtrange
StudioEtrange / unix bash ownership user group.md
Last active January 31, 2018 14:28
Determine the user + group which has ownership of a binary
  • Determine the user + group which has ownership :
stat --format '%U:%G' "/bin/path"

ownership="$(stat --format '%U:%G' '/bin/path')"
  • Update ownership & right :
@StudioEtrange
StudioEtrange / Minimal RShiny app.md
Last active January 31, 2018 14:39
Minimal RShiny app
## app.R ##
library(shiny)
library(shinydashboard)

ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(),
  dashboardBody(print('Hello World'))
)
@StudioEtrange
StudioEtrange / conda export import env.md
Last active January 31, 2018 14:38
anaconda / conda : environment management export/import
  • Create python environment
conda create -n project_name python=2.7.12
  • Export of environment specification
conda env export -n project_name &gt; environment.yml