Skip to content

Instantly share code, notes, and snippets.

@anthonyaxenov
anthonyaxenov / helpers.sh
Last active July 23, 2023 01:20
[SHELL] My bash helpers
#########################################################################
# #
# Bunch of helpers for bash scripting #
# #
# This file is compilation from some of my projects. #
# I'm not sure they're all in perfiect condition but I use them #
# time to time in my scripts. #
# #
#########################################################################
@anthonyaxenov
anthonyaxenov / php
Last active March 27, 2023 03:08
[SHELL] Interpreter helper to debug dockerized cli php scripts in NetBeans
#!/bin/bash
# Welcome to amusement park!
[[ "$1" = '--help' ]] || [[ "$1" = '-h' ]] && cat <<EOF && exit
NetBeans docker wrapper for php
===============================
Anthony Axenov (c) 2023, The MIT License
https://axenov.dev
https://opensource.org/license/mit
@anthonyaxenov
anthonyaxenov / here.php
Last active March 24, 2023 08:38
[PHP] Get caller class, function and line number
<?php
/**
* Returns caller class/file name, function and line where current
*
* Potentially doesn't cover all cases, but is simple and pretty handy for use in frameworks.
*
* @param bool $as_array result as array or string in this format: `<file|class>:<func>():<line>`
* @return string|array
*/
@anthonyaxenov
anthonyaxenov / ytdlcue.sh
Last active October 9, 2022 05:23
[SHELL] CUE-sheet generator for youtube-dl
#!/bin/bash
# CUE-sheet generator for youtube-dl
# Usage:
# 0. Install 'jq' utility
# 1. Download any audio file with metadata from YouTube or Youtube Music, e.g.
# $ youtube-dl \
# --extract-audio \
# --audio-format flac \
# --audio-quality 0 \
@anthonyaxenov
anthonyaxenov / .gitconfig
Created September 28, 2022 00:02
My favourite global .gitconfig with aliases (ru comments)
[user]
# ...
# signingkey = <key>
# git config user.signingkey ... -- установить ключ
[commit]
gpgSign = true
[tag]
gpgSign = true
[push]
default = current
@anthonyaxenov
anthonyaxenov / inotifywait-cp.service
Last active April 19, 2023 03:56
[SHELL] Backup files synced from Syncthing
# Daemon file
# Place or symlink it to /etc/systemd/system/inotifywait-cp.service
# Enable and start: sudo systemctl enable --now inotifywait-cp
# Check it: sudo systemctl status inotifywait-cp
[Unit]
Description=Photosync from android
[Service]
Type=simple
@anthonyaxenov
anthonyaxenov / s3-backup.sh
Last active December 23, 2023 20:26
[SHELL] Backup your project to another server
#!/bin/bash
#####################################################################
# #
# Stupidly simple backup script for own projects #
# #
# Author: Anthony Axenov (Антон Аксенов) #
# Version: 1.2 #
# License: WTFPLv2 More info (RU): https://axenov.dev/?p=1272 #
# #
#####################################################################
@anthonyaxenov
anthonyaxenov / .bash_aliases
Last active June 28, 2023 13:49
[SHELL] My favorite bash aliases
#!/bin/bash
# alias bashrc='source ~/.bashrc'
alias zshrc='source ~/.zshrc'
alias realias='source ~/.bash_aliases'
alias reload='exec ${SHELL} -l'
alias sudo='sudo ' # enable aliases to be sudo’ed
alias g='git'
alias hosts="sudo nano /etc/hosts"
alias shrug="echo '¯\_(ツ)_/¯' | xclip -selection c"
@anthonyaxenov
anthonyaxenov / quick-backup.sh
Last active August 24, 2022 05:02
[SHELL] Backup your project to another server
#!/bin/bash
#####################################################################
# #
# Stupidly simple backup script for own projects #
# #
# Author: Anthony Axenov (Антон Аксенов) #
# Version: 1.0 #
# License: WTFPLv2 More info: https://axenov.dev/?p=1423 #
# #
#####################################################################
@anthonyaxenov
anthonyaxenov / dc.sh
Last active December 7, 2022 15:01
[SHELL] Simple tool for your docker-compose environment
#!/bin/bash
CONTAINER="ds-php" # the name of the container in which to 'exec' something
CONFIG="$(dirname $([ -L $0 ] && readlink -f $0 || echo $0))/docker-compose.yml" # path to compose yml file
CMD="docker-compose -f $CONFIG" # docker-compose command
APP_URL='http://localhost:8000/'
open_browser() {
if which xdg-open > /dev/null; then
xdg-open "$1" </dev/null >/dev/null 2>&1 & disown
elif which gnome-open > /dev/null; then