cypa
Bash в пустом каталоге команда
echo *
показывает тупо эту самую *,
а вот в zsh говорит ошибку как взрослый
Strephil
sh Bash Как пройтись по каталогам, входящих в данный?
for d in `ls *`; do … ;done и проверять, что d это каталог? как-то тухло.
find . -maxdepth 1 -type d
тоже как-то тухло.
Strephil
Bash Написал простенький говноскрипт, буквально десять строчек. Забавно, то, что я полагал выполниться за долю секунды, выполняется за несклько минут.
stanislavv
лытдыбр Bash """
xxx: Старый — это когда игра размером 9 мегабайт тебя в своё время радовала больше, чем сейчас игра размером 90 гигабайт.
"""

А если меня радовала игра в 40кб (Elite на спектруме) — это ж какой я тогда?
Strephil
Linux Bash * — это все файлы. А как сделать, чтобы только каталоги? Мне нужно зайти в каждый из них и что-то там сделать.

Я сделал через test — d, но может быть, можно проще? find max-dep=1?
Strephil
Bash Unix Похоже, что невозможность использовать нулевой байт в переменных — это не особенность bash'а, а этот старый ёбаный unix-way: в C-шной строке это конец строки, мы не можем при вызове программы передать ей аргумент, содержащий нулевой байт, потому что это будет расценено как конец строки.

Если хочешь хранить в строковых переменных нулевые байты — пиши на паскале.
L29Ah
log Bash умнодом хуита Запилил кароч термостат.
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
L29Ah
Linux openssh Bash ? ssh l29ah.blasux.ru tail -F /var/log/dhcpd/current | sed -une 's#.DHCPACK on \([^ ]\) to.*#\1#p' | while read -r addr; do
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

ШТО????
Linda-chan
программы пичалька Bash Чтобы передать параметры скрипта дальше, нужно использовать это:
"$@"
Никакие другие варианты вроде этих:
$*
"$*"
$@
не дают ожидаемого результата. Ну, тобишь, ты даёшь три параметра:
byaka.sh 1 2 "3 4"
а он вызывает это:
./other.sh $*
а следующий скрипт получает это:
other.sh 1 2 3 4
=_=
duckling
наука Python лытыбр Bash Я 15 минут пыталась запустить командой "bash download_dataset.py" и все не могла понять, почему он ругеается на импорт, вроде все библиотеки были на месте =/ Ночью надо спать, а не науку шатать .__.
lurker
Bash success story
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 servers
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).
telegraph.co.uk
Balancer
code find Bash cp cli
Скопировать все файлы за 2009-й год из подкаталогов в целевой каталог с сохранением структуры.

find . -newermt 20090101 -not -newermt 20100101 -type f -exec cp -a --parents \{\} /tmp/2009/ \;

Полезно для раскладывания хаотично пополняемых каталогов в squash+aufs слои.
Loi
Linux Bash terminal Zsh Впорос у меня возник очень даже заманчивый. В ситеме (xubuntu 14.04.4) у меня установленны bash и zsh. А так же два эмулятора терминала. Один стандартный xfce4-terminal 0.6.3 а второй terminator 0.97. Можно ли сделать так, что бы в одном использовался bash, а в другом zsh. Или это прописывается глобально для пользователя ?
Balancer
code hint mv Bash cli
Переименовать все картинки в подкаталоге, перенеся их в текущий с последовательной нумерацией:
find Wallpapers -type f | cat -n | while read n f; do mv "$f" "$(printf "bg%06d.jpg" "$n")"; done
ZerGabriel
Diablo2 Bash Bash: Комментарий к посту на geektimes про выход нового патча для Diablo II спустя почти 16 лет после выхода игры: FoxCanFly: Вот это действительно LTS, а не эти ваши Дебианы bash.im
ZerGabriel
lineage2 Bash Bash: из игры Line ][ Age :
Lakki : еще раз меня в пк убьёшь , я тя завалю! Ты заебал! дай пакочаццо
FreeStyler : Ну и как ты меня завалишь , ньюбай ?
Lakki : сцуко , ты 14 летний дебил , живёшь по адрессу К Маркса 47, 27.
Lakki : я блять приду и завалю! поверь олень, мне идти 10 минут, у нас сеть локальная баран!
FreeStyler : хорошо ... Покачаццо помочь?
Linda-chan
Linux Bash Проблему, озвученную в предыдущем посте решила двумя способами. Так:
MY_DP=$( dirname $( realpath "$0" ) )
Или так:
MY_DP=$( dirname $( readlink -e "$0" ) )
В первом нужно устанавливать дополнительную утилиту, а второй работает сразу.
Спасибо поучаствовавшим пойнтожуйкерам!