LS="$(ls -t | grep database)"
x="$IFS";IFS=$'\n'
for li in $LS
do
echo $li
done
IFS="$x"
systemctl status NetworkManager.service
lspci -vnn | awk '/Network/,/^$/'
после пробуждения из спящего режима стал пропадать wifi в manjaro
у меня описано несколько флагов для передачи их через командную строку, то есть несколько if. В каждом if я сравниваю флаги и переменную и что-то определенное запускаю.
#!/usr/bin/env bash
version=0.1
while [[ "$1" =~ ^- && ! "$1" == "--" ]]; do case $1 in
-V | --version )
echo $version; exit 0
;;
-s | --str )
shift; str=$1
;;
-k | --key )
key=true
;;
* ) echo "Ошибка, неизвестный ключ : $1"; exit 1
;;
esac; shift; done
if [[ "$1" == '--' ]]; then shift; fi
if [[ -v str ]]; then # проверяем существует ли переменная str
case "$str" in
'y' ) echo "YYY: ключ -s, --str получил значение :: \"$str\""
;;
't' ) echo "TTT: ключ -s, --str получил значение :: \"$str\""
;;
* ) echo "Ошибка, введено неверное значение для ключа -s, --str"
exit 1
;;
esac
fi
if [[ "$key" == true ]]; then
echo "задействован ключ -k, --key"
fi
echo "конец скрипта"
exit
$ ./0.sh --version
Версия: 0.1
$ ./0.sh -k
задействован ключ -k, --key
конец скрипта
$ ./0.sh -s y
YYY: ключ -s, --str получил значение :: "y"
конец скрипта
$ ./0.sh --str z
Ошибка, введено неверное значение для ключа -s, --str
$ ./0.sh --str t -k
TTT: ключ -s, --str получил значение :: "t"
задействован ключ -k, --key
конец скрипта
if [[ "$arg1" == "p-$arg2" ]]
then echo --mark "$arg2"
else echo --mark
fi
Может я запутанно объяснил, но число которое будет передаваться во второй переменной неизвестно, может быть и p-5
./0.sh p-4 p-5
./0.sh a-4 b-5
Пока немного не пойму последнее
[[ "$1" == "p-$2" ]]
./0.sh p-4 5
[[ "p-4" == "p-5" ]]
if [[ "$arg1" == "p-$arg2" ]]
then echo --mark $(foo $arg1)
else echo --mark
fi
./0.sh p-4 4
--mark 4
./0.sh p-4 5
--mark
но не исключаю возможности, что там опустили какую то очевидную вещь, которую я не сделал.
#!/usr/bin/env bash
set -o xtrace
set -o errexit
MicroSD="/dev/sdX"
DIR="/tmp/bbb"
MNT="$DIR/mnt"
rm -rf $DIR
mkdir -p "$MNT"
dd if=/dev/zero of=$MicroSD bs=2M count=1 conv=fsync oflag=direct status=progress
echo -e "label:dos\nstart=2M" | sfdisk $MicroSD
yes | mkfs.ext4 -O '^metadata_csum,^64bit' -m1 ${MicroSD}1
mount ${MicroSD}1 "$MNT"
am33x=ArchLinuxARM-am33x-latest.tar.gz
curl -L -o $DIR/$am33x "http://os.archlinuxarm.org/os/$am33x"
bsdtar -xpf "$DIR/$am33x" -C "$MNT" && sync
dd if=$MNT/boot/MLO of=$MicroSD bs=128k count=1 seek=1 conv=notrunc,fsync oflag=direct status=progress
dd if=$MNT/boot/u-boot.img of=$MicroSD bs=384k count=2 seek=1 conv=notrunc,fsync oflag=direct status=progress
umount "$MNT"
exit
но BBB не видит карту
In order to boot to SD, you must hold down the switch on the top of the board near the micro SD slot as you apply power. This will tell the board to boot from SD first instead of eMMC, and it will remember this until you remove power so future reboots will always boot from SD.
Про то, как ускорить я уже спрашивал, частично помогло.
если файлы большие то лучше предварительно отсортировать в отдельные файлы
еще один вариант:
grep -f file_0.txt file_1.txt > file_2.txt
можно и без WSL, есть кросплатформенный и более продвинутый аналог grep - ripgrep
напрямую стянуть бинарник можно с гитхаба - ripgrep-13.0.0-x86_64-pc-windows-msvc.zip
rg -N -f file_0.txt file_1.txt > file_2.txt