mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-10-27 12:30:43 +00:00
65 lines
1.3 KiB
Bash
Executable File
65 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
verbose=true
|
|
|
|
while [ "$*" != "" ] ; do
|
|
case $1 in
|
|
-q) verbose=false ; shift;;
|
|
*) break ;;
|
|
esac
|
|
done
|
|
|
|
if [ $# -ne 1 ] ; then
|
|
echo Usage: "$0 [ -q ] target" >&2
|
|
exit 22
|
|
fi
|
|
|
|
target="$1"
|
|
prefix=/sys
|
|
set -e
|
|
|
|
set -- /class/hwmon
|
|
|
|
while [ -n "$1" ] ; do
|
|
source="$1" ; shift
|
|
src="$prefix$source"
|
|
tgt="$target$source"
|
|
if [ -e "$tgt" ] ; then
|
|
! $verbose || echo "$tgt already exists"
|
|
continue
|
|
fi
|
|
if [ -L "$src" ] ; then
|
|
link="$(readlink "$src")"
|
|
! $verbose || echo "$tgt -> $link"
|
|
ln -s "$link" "$tgt"
|
|
link="/$(realpath --relative-to="$prefix" -s "$(dirname "$src")"/"$link")"
|
|
set -- "${link}" "$@"
|
|
continue
|
|
fi
|
|
if [ -d "$src" ] ; then
|
|
! $verbose || echo "$tgt/"
|
|
mkdir -p "$tgt"
|
|
sub="$(ls -A "$src")" # cannot use a pipeline, it creates new parameter scope
|
|
while [ -n "$sub" ] ; do
|
|
x=$(echo "$sub" | head -n 1)
|
|
sub="$(echo "$sub" | tail -n +2)"
|
|
[ "$x" != autosuspend_delay_ms ] || continue # these files cause io error
|
|
set -- "$source/$x" "$@"
|
|
done
|
|
continue
|
|
fi
|
|
if [ -f "$src" ] ; then
|
|
! $verbose || echo "$tgt"
|
|
if [ -r "$src" ] ; then
|
|
cp -a "$src" "$tgt" ||: # some files gitve i/o error even when readable
|
|
else
|
|
! $verbose || echo "$tgt not readable"
|
|
touch --reference="$src" "$tgt"
|
|
chmod --reference="$src" "$tgt"
|
|
fi
|
|
continue
|
|
fi
|
|
done
|
|
|
|
exit 0
|