Size: a a a

2020 September 27

Лс

Лень с Самосознанием... in pro.bash
Там напрямую строка из аргументов
источник

️ ️️ in pro.bash
Лень с Самосознанием
./test1.sh {1..10}
There are 10 arguments
2
4
6
8

Вот сейчас поймал что на busybox 10 куда-то потерялась
типо скрипт должен вывести парный аргументы?

тоесть даже если там будут не цифры?
источник

Лс

Лень с Самосознанием... in pro.bash
️ ️️
типо скрипт должен вывести парный аргументы?

тоесть даже если там будут не цифры?
Тоесть цифры могут быть в любом порядке
источник

Лс

Лень с Самосознанием... in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
Ну если у тебя есть /usr/bin/busybox, то "#!/usr/bin/busybox ash"
Не хочет. Он, почему-то, ловит только последние цифры без -P
источник

️ ️️ in pro.bash
Лень с Самосознанием
➜  ~ cat test1.sh
#!/bin/bash
set -efu
printf "There are %d arguments\n" "$#"
echo "$@" | grep -P -o "\d*[0,2,4,6,8]\W" -
➜  ~ cat test2.sh
#!/bin/bash
set -efu

n=1

printf "There are %d arguments\n" "$#"
for arg in "$@"
do
       if [ "$((n % 2))" -eq 0 ]; then
               printf "%s\n" "${arg}"
       fi
       n=$(($n + 1))
done
ну так в test2 ты проверяешь парность порядкового номера а не сам arg
источник

Лс

Лень с Самосознанием... in pro.bash
Тю, да, кстати
источник

Лс

Лень с Самосознанием... in pro.bash
тааак
источник

Лс

Лень с Самосознанием... in pro.bash
@picokun а к $@ можно обратиться как к массиву?
источник

аᶘ

асоциальный пикотран... in pro.bash
Лень с Самосознанием
@picokun а к $@ можно обратиться как к массиву?
(в шеллах вроде dash и ash нет массивов)
источник

аᶘ

асоциальный пикотран... in pro.bash
В худшем случае ты можешь делать что-то вроде (не тестил)
for i in $(seq 1 $#); do printf "%s\n" "$(eval echo "\$${i}")"; done`
источник

F

Fljúgandi Kettlingur... in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
Ну printf в шелл — это калька с printf'а из libc, позволяет печатать в stdout с заданным форматом.
Например, printf("%d %d %s\n", int1, int2, str1) напечатает строчку, заменив первый %d на значение переменной int1, второй — на int2, третий — на всю строку str1. В зависимости от того, какая буква идёт после %, printf по-разному интерпретирует аргументы, т.е. d — это decimal, целое число, а s — string, строка.
Decimal. Целое число. Забористо!
источник

аᶘ

асоциальный пикотран... in pro.bash
Fljúgandi Kettlingur
Decimal. Целое число. Забористо!
Я открыт к исправлениям, напиши как правильно.
источник

F

Fljúgandi Kettlingur... in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
Я открыт к исправлениям, напиши как правильно.
"decimal" - десятичное, подсказывает нам словарь.
А %d - таки decimal integer, десятичное целое.

Here is a table that summarizes the various conversion specifications:

‘%d’
    Matches an optionally signed integer written in decimal.  *Note
    Numeric Input Conversions::.
источник

аᶘ

асоциальный пикотран... in pro.bash
Fljúgandi Kettlingur
"decimal" - десятичное, подсказывает нам словарь.
А %d - таки decimal integer, десятичное целое.

Here is a table that summarizes the various conversion specifications:

‘%d’
    Matches an optionally signed integer written in decimal.  *Note
    Numeric Input Conversions::.
Является ли 10.5 десятичным числом?
источник

F

Fljúgandi Kettlingur... in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
Является ли 10.5 десятичным числом?
именно об этом я и говорю. Это decimal, но не decimal integer.
источник

аᶘ

асоциальный пикотран... in pro.bash
Fljúgandi Kettlingur
именно об этом я и говорю. Это decimal, но не decimal integer.
То есть d → decimal → на самом деле signed integer → целое число?
источник

F

Fljúgandi Kettlingur... in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
То есть d → decimal → на самом деле signed integer → целое число?
d - это не от decimal, а от decimal integer. Потому что пошли мы нафиг, вот почему.
источник

аᶘ

асоциальный пикотран... in pro.bash
Fljúgandi Kettlingur
d - это не от decimal, а от decimal integer. Потому что пошли мы нафиг, вот почему.
Да, так понятнее, спасибо.
источник

️ ️️ in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
Ну если у тебя есть /usr/bin/busybox, то "#!/usr/bin/busybox ash"
источник

️ ️️ in pro.bash
а я думал что lksh быстрый.....
источник