LINUX.ORG.RU
ФорумTalks

Анекдоты на C-Shell


0

0

Кого еще не "запарили" анекдоты на "ЯП"?

Фрагменты взяты из скриптов работающих в реальном производстве,
точнее они (фрагменты) там были до меня.

Фрагмент 1:
#set $gLAYERS_LIST = ( "epr01" "ipr02" "ipr03" .... )
@ i = $#gLAYERS_LIST
@ j = 1
while ( $i > 0 )
   if ($j == 1) then
      echo $gLAYERS_LIST[$j] > $hometmp/tmp_list
      @ j ++
      @ i --
   else
      echo $gLAYERS_LIST[$j] >> $hometmp/tmp_list
      @ j ++
      @ i --
   endif
end

Заменено на:
echo "$gLAYERS_LIST" | tr ' ' '\n' > $hometmp/tmp_list

Фрагмент 2:

foreach ipt (02 04 06 08 10 12 14 16 18 20 22 24 26 28)
   grep "$ipt" $hometmp/ip_list >> $hometmp/ipt
end
Заменено на:
grep '[0-9][02468]' $hometmp/ip_list > $hometmp/ipt


Фрагмент 3:
Опускаю самый страшный (это уже не анекдот, а страшилка)
фрагмент из 70!!! строк для сортировки текста
.....
ipr03
ipr07
inr01
inr05
.....
по номеру

Заменено на:
# Sorting the inner layers
grep -E '^i[pn]r[0-9][0-9]$' $hometmp/matrix_list| sort -n -k2 -tr > $hometmp/inner_sort
★★★★★

2 фрагмент я бы вернул взад

anonymous
()

Получение user id:

WHO_USE_IT=`touch /tmp/$$ ; ls -l /tmp/$$ | awk '{print $3}' ;rm -f /tmp/$$`

потом заменено на:

WHO_USE_IT=`id | cut -d'(' -f2 | cut -d')' -f1`

И окончательно:

WHO_USE_IT=`whoami`

BreadFan ★★
()
Ответ на: комментарий от BreadFan

IMHO это надо подавать не как анекдоты, а как примеры того, как не надо делать... Ну вот, пожалуй, самый распространенный пример: cat file | grep word вместо grep word file :))

php-coder ★★★★★
()
Ответ на: комментарий от php-coder

Все время так делаю, вредная привычка =)

find | grep filename

:)

K48 ★★★★
()
Ответ на: комментарий от php-coder

> Ну вот, пожалуй, самый распространенный пример: cat file | grep word вместо grep word file :))

ну начнем с того что output у них не эквивалентный:)

мне такое встречалось:

`echo $VAR` вместо $VAR. Но это у новичка.

Еще нерабочий код, который успешно просуществал пару лет:

if [ "`grep SMS_S /home/omc/oam/`" != "" ]; then

dilmah ★★★★★
()
Ответ на: комментарий от php-coder

> cat file | grep word вместо grep word file :))

И чем же второй вариант лучше?

anonymous
()
Ответ на: комментарий от dilmah

> `echo $VAR`
Такое можно использовать если надо избавиться от пробелов
в начале и в конце строки.
$ a='   asdfgh   '
$ b=$a
$ echo "a=${#a} -- b=${#b}"
a=12 -- b=12
$ b=`echo $a`
$ echo "a=${#a} -- b=${#b}"
a=12 -- b=6

sdio ★★★★★
() автор топика
Ответ на: комментарий от sdio

там было гораздо примитивнее:

if [ "`echo "$?"`" = "1" ]; then

Еще мне очень не нравится практика некоторых засовывать в переменные несколько строк с newline'ами.

dilmah ★★★★★
()
Ответ на: комментарий от BreadFan

ну тогда уж if test $? -ne 0; then

хех, а вообще прикольно..

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.