echo *
показывает тупо эту самую *,
а вот в zsh говорит ошибку как взрослый
for d in `ls *`; do … ;done и проверять, что d это каталог? как-то тухло.
find . -maxdepth 1 -type d
тоже как-то тухло.
explainshell.com
Раскукоживает комманду с ключами в справку по каждому кусочку.
Типа такого: explainshell.com
Раскукоживает комманду с ключами в справку по каждому кусочку.
Типа такого: explainshell.com
Graf: Я помню, как ты расправлялась со злом...
hit `set -o vi` and check your privilege NOW
xxx: Старый — это когда игра размером 9 мегабайт тебя в своё время радовала больше, чем сейчас игра размером 90 гигабайт.
"""
А если меня радовала игра в 40кб (Elite на спектруме) — это ж какой я тогда?
Я сделал через test — d, но может быть, можно проще? find max-dep=1?
bash-4.2$ b="2"
bash-4.2$ echo $((${a}*${b}))
6
bash-4.2$ echo $((a*b))
8
Если хочешь хранить в строковых переменных нулевые байты — пиши на паскале.
bash: предупреждение: command substitution: ignored null byte in input
а чё это он игноред
ххх: Ищу куда переехать. Москва и Питер не рассматриваются по причине нищеты.
ууу: Да ладно, у нас и богатые есть.
digitalocean.com
Как пользоваться историей в баше. Я только стрелочку вверх жмякаю, а тут ещё что-то можно.
subzero.l29ah.blasux.ru
∞ cat /usr/local/sbin/collectd-co2mond
#!/bin/zsh
temp_topic=/devices/7fe7/controls/relay/on
getheat() {
mosquitto_sub -C 1 -t "$temp_topic"
}
setheat() {
mosquitto_pub -r -t "$temp_topic" -m "$@"
}
set_temp=22
set_temp_hyst=0.3
INTERVAL=5
HOST=localhost
co2mond | while read -r name value; do
if [[ "$name" == "CntR" ]]; then
echo $value > /tmp/co2
echo "PUTVAL $HOST/co2mon/gauge-co2 interval=$INTERVAL N:$value"
if [ -e /tmp/fan_force ]; then
cat /tmp/fan_force > /dev/fan
else
[ "$value" -lt 800 ] && echo 0 > /dev/fan || echo 1 > /dev/fan
fi
elif [[ "$name" == "Tamb" ]]; then
echo $value > /tmp/temp
echo "PUTVAL $HOST/co2mon/temperature-temp1 interval=$INTERVAL N:$value"
if [ -e /tmp/heater_force ]; then
setheat $(cat /tmp/heater_force)
else
curvalue=$(getheat)
if [[ "$curvalue" == 0 ]]; then
[[ "$value" -gt "$((set_temp — set_temp_hyst))" ]] || setheat 1
else
[[ "$value" -gt "$((set_temp + set_temp_hyst))" ]] && setheat 0
fi
fi
fi
done
sshpa admin ssh "admin@$addr" show > "show-$addr" &
sleep 5
kill %1
done
↓
проходится один раз по циклу, затем
./dhcpd-handler.sh: line 44: read: read error: 0: Resource temporarily unavailable
ШТО????
"$@"Никакие другие варианты вроде этих:
$*не дают ожидаемого результата. Ну, тобишь, ты даёшь три параметра:
"$*"
$@
byaka.sh 1 2 "3 4"а он вызывает это:
./other.sh $*а следующий скрипт получает это:
other.sh 1 2 3 4=_=
I run a small hosting provider with more or less 1,535 customers and I use Ansible to automate some operations to be run on all serverstelegraph.co.uk
Last night I accidentally ran, on all servers, a Bash script with a rm -rf {foo}/{bar} with those variables undefined due to a bug in the code above this line.
All servers got deleted and the offsite backups too because the remote storage was mounted just before by the same script (that is a backup maintenance script).
Скопировать все файлы за 2009-й год из подкаталогов в целевой каталог с сохранением структуры. find . -newermt 20090101 -not -newermt 20100101 -type f -exec cp -a --parents \{\} /tmp/2009/ \; Полезно для раскладывания хаотично пополняемых каталогов в squash+aufs слои.
Переименовать все картинки в подкаталоге, перенеся их в текущий с последовательной нумерацией: find Wallpapers -type f | cat -n | while read n f; do mv "$f" "$(printf "bg%06d.jpg" "$n")"; done
aaa
(сейчас уже исправили, но бля)
hex2dec: echo $((0x<hex-string>)) echo $((0xb)) 11 src: http://stackoverflow.com/a/22863296/5430535
Lakki : еще раз меня в пк убьёшь , я тя завалю! Ты заебал! дай пакочаццо
FreeStyler : Ну и как ты меня завалишь , ньюбай ?
Lakki : сцуко , ты 14 летний дебил , живёшь по адрессу К Маркса 47, 27.
Lakki : я блять приду и завалю! поверь олень, мне идти 10 минут, у нас сеть локальная баран!
FreeStyler : хорошо ... Покачаццо помочь?
че делашь?
Raven:
минуту
Dr.Flex:
из секунд собираешь?
MY_DP=$( dirname $( realpath "$0" ) )Или так:
MY_DP=$( dirname $( readlink -e "$0" ) )В первом нужно устанавливать дополнительную утилиту, а второй работает сразу.
Спасибо поучаствовавшим пойнтожуйкерам!