1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/snserver_ynh.git synced 2024-09-03 20:26:22 +02:00
snserver_ynh/scripts/_common.sh
2022-08-12 23:17:56 +02:00

63 lines
2.1 KiB
Bash

#!/bin/bash
#=================================================
# COMMON VARIABLES
#=================================================
NODEJS_VERSION="16"
swap_needed=4096
node_max_old_space_size=4096
# dependencies used by the app
pkg_dependencies=""
#=================================================
# PERSONAL HELPERS
#=================================================
# Reset failed systemd services.
ynh_reset_systemd(){
systemctl reset-failed
}
# Substitute/replace a string (or expression) by another in a file on a line
#
# usage: ynh_replace_string_on_line --line=line --match_string=match_string --replace_string=replace_string --target_file=target_file
# | arg: -l, --line= - Replace match on nth line in the file
# | arg: -m, --match_string= - String to be searched and replaced in the file
# | arg: -r, --replace_string= - String that will replace matches
# | arg: -f, --target_file= - File in which the string will be replaced.
#
# As this helper is based on sed command, regular expressions and references to
# sub-expressions can be used (see sed manual page for more information)
#
ynh_replace_string_on_line() {
# Declare an array to define the options of this helper.
local legacy_args=lmrf
local -A args_array=([l]=line= [m]=match_string= [r]=replace_string= [f]=target_file=)
local line
local match_string
local replace_string
local target_file
# Manage arguments with getopts
ynh_handle_getopts_args "$@"
set +o xtrace # set +x
local delimit=@
# Escape the delimiter if it's in the string.
match_string=${match_string//${delimit}/"\\${delimit}"}
replace_string=${replace_string//${delimit}/"\\${delimit}"}
set -o xtrace # set -x
sed --in-place "${line} s${delimit}${match_string}${delimit}${replace_string}${delimit}" "$target_file"
}
#================================================
# EXPERIMENTAL HELPERS
#=================================================
#=================================================
# FUTURE OFFICIAL HELPERS
#=================================================