#!/usr/bin/env bash # GNU bash, version 4.3.18(1)-release (x86_64-unknown-linux-gnu) # # © Copyright 2014 Ryan Delaney. # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # This program is free software: you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation, either version 3 of the License, or (at your # option) any later version. # # You should have received a copy of the GNU General Public License along # with this program. If not, see . # # Functions {{{1 lscolors_buildsuite_print_extensions() { sed -e '/^[ ]+#/d; /^[^\.\*]/d; /^$/d; s/^\([\.\*][^ ]+\).*/\1/' ../LS_COLORS } verbose() { if [[ "$verbose" = "1" ]]; then echo "$1" >&2 fi } error() { echo "$1" >&2 } # }}} # Usage {{{1 # usage() { cat <&2 exit 1 shift ;; *) # no more options. Stop while loop break ;; esac done # }}} # Dependencies {{{ if ! type sed &> /dev/null; then echo "ERROR: Missing dependency: sed" 1>&2; exit 1; fi # }}} if [[ ! -d "./test" ]]; then mkdir test || exit 1; fi cd test || exit 1 # File if [[ ! -f FILE ]]; then touch FILE; fi # Executable file if [[ ! -f EXECUTABLE ]]; then touch EXECUTABLE; fi chmod +x EXECUTABLE # Symlink if [[ ! -f SYMLINK ]]; then ln -s FILE SYMLINK; fi # Directory if [[ ! -d DIRECTORY ]]; then mkdir DIRECTORY; fi # Directory symlink if [[ ! -d DIR-SYMLINK ]]; then ln -s DIRECTORY DIR-SYMLINK; fi # Hardlink if [[ ! -f HARDLINK1 ]]; then touch HARDLINK1; fi if [[ ! -f HARDLINK2 ]]; then ln HARDLINK1 HARDLINK2; fi # Create a link to nowhere if [[ ! -f nothing ]]; then touch nothing; fi if [[ ! -f ORPHAN ]]; then ln -s nothing ORPHAN; fi if [[ -f nothing ]]; then rm nothing; fi # World-writable if [[ ! -f WORLDWRITEABLE ]]; then touch WORLDWRITEABLE; fi chmod 0777 WORLDWRITEABLE # Supported extensions while read line; do if [[ ! -f test"$line" ]]; then line="${line//\*/.}" if [[ "${line:0:1}" == "." ]]; then touch ./DIRECTORY/test"$line" else touch ./DIRECTORY/"$line" fi fi done < <( lscolors_buildsuite_print_extensions ) # vim: ft=sh foldmethod=marker: