753c07c665
There might be bugs
30 lines
852 B
Bash
30 lines
852 B
Bash
#!/bin/sh
|
|
|
|
[ -z $1 ] && exit 1
|
|
|
|
if [ "$#" -gt 1 ]; then
|
|
for i in "$@"
|
|
do
|
|
# echo "$i"
|
|
dash "$0" "$i"
|
|
done
|
|
else
|
|
if [ -d "$1" ]; then
|
|
dash "$0" "$1"/*
|
|
elif [ -f "$1" ]; then
|
|
echo "$1"
|
|
first="$(sed -E 's|^#!/bin/sh$|#!/usr/bin/env sh|g' "$1")"
|
|
second="$(echo "$first" | sed 's|mksh|dash|g')"
|
|
third="$(echo "$second" | sed 's|echo|printf "%b\\n"|g')"
|
|
echo "-----------------------------------------"
|
|
new="/tmp/posixfy$(date +%s)"
|
|
echo "$third" > "$new"
|
|
difference="$(diff -u "$1" "$new")"
|
|
[ -z "$difference" ] && exit 0 || echo "$difference"
|
|
dash $TSCRIPTS/yes-or-no.sh "Confirm?" && echo "$third" > "$1"
|
|
echo "-----------------------------------------"
|
|
else
|
|
echo "Unexpected error" 1>&2
|
|
exit 1
|
|
fi
|
|
fi
|