URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 9895
[ Назад ]

Исходное сообщение
"bash Solaris перенос комманд"

Отправлено DiJey , 21-Авг-14 10:47 
Подскажите кто в курсе, как переносить комманды что бы не писать в строчку.
У меня следюущая констркуция
grep пареметр1 ${in} | grep параметр2 | grep параметр3 > ${OUT}

Нужно:
grep пареметр1 ${in} | \
grep параметр2 | \
grep параметр3 > ${OUT}

В linux такая конструкция рабоатет, в Solaris нет.


Содержание

Сообщения в этом обсуждении
"bash Solaris перенос комманд"
Отправлено Andrey Mitrofanov , 21-Авг-14 11:15 
> grep параметр2 | \
> В linux такая конструкция рабоатет, в Solaris нет.

А должно бы, судя по http://www.opennet.me/man.shtml?topic=sh&category=1
в районе ""If a backslash is used to escape a newline character"".

Продолжение осмотра: версия S., реализации и версии sh, его(sh) man-а и т.д.

Ну, или сделать быстро -- #!/bin/bash или #!/usr/bin/env bash --.


"bash Solaris перенос комманд"
Отправлено zd3n , 21-Авг-14 11:22 
У меня в Solaris работает.

$ bash --version
GNU bash, version 3.00.16(1)-release (sparc-sun-solaris2.10)

$ cat /etc/release
                   Oracle Solaris 10 9/10 s10s_u9wos_14a SPARC
     Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
                            Assembled 11 August 2010


"bash Solaris перенос комманд"
Отправлено DiJey , 21-Авг-14 12:12 
Нет не пашет..., в чем интересно может быть дело...

-bash-3.2# bash -version
GNU bash, version 3.2.51(1)-release (sparc-sun-solaris2.10)
Copyright (C) 2007 Free Software Foundation, Inc.
-bash-3.2# cat temp
User Management:solaris:cmd:::/usr/sbin/groupadd:uid=0
User Management:solaris:cmd:::/usr/sbin/groupdel:uid=0
User Management:solaris:cmd:::/usr/sbin/groupmod:uid=0
User Management:solaris:cmd:::/usr/sbin/roleadd:uid=0
User Management:solaris:cmd:::/usr/sbin/roledel:uid=0
User Management:solaris:cmd:::/usr/sbin/rolemod:uid=0
User Management:solaris:cmd:::/usr/sbin/useradd:uid=0
User Management:solaris:cmd:::/usr/sbin/userdel:uid=0
User Management:solaris:cmd:::/usr/sbin/usermod:uid=0
User Management:suser:cmd:::/usr/sbin/grpck:euid=0
User Management:suser:cmd:::/usr/sbin/pwck:euid=0
-bash-3.2# cat t1.sh
#!/bin/bash
grep -v "User Management:solaris:cmd:::/usr/sbin/groupadd:uid=0" ./temp |\
grep -v "User Management:solaris:cmd:::/usr/sbin/groupdel:uid=0" ./temp > ./temp1
-bash-3.2# ls
t1.sh  temp
-bash-3.2# bash t1.sh
-bash-3.2# cat ./temp1
User Management:solaris:cmd:::/usr/sbin/groupadd:uid=0
User Management:solaris:cmd:::/usr/sbin/groupmod:uid=0
User Management:solaris:cmd:::/usr/sbin/roleadd:uid=0
User Management:solaris:cmd:::/usr/sbin/roledel:uid=0
User Management:solaris:cmd:::/usr/sbin/rolemod:uid=0
User Management:solaris:cmd:::/usr/sbin/useradd:uid=0
User Management:solaris:cmd:::/usr/sbin/userdel:uid=0
User Management:solaris:cmd:::/usr/sbin/usermod:uid=0
User Management:suser:cmd:::/usr/sbin/grpck:euid=0
User Management:suser:cmd:::/usr/sbin/pwck:euid=0
-bash-3.2# wc temp
      11      22     590 temp
-bash-3.2# wc temp1
      10      20     535 temp1
-bash-3.2#


"bash Solaris перенос комманд"
Отправлено DiJey , 21-Авг-14 12:27 

-bash-3.2# cat t1.sh
#!/bin/bash
grep -v "User Management:solaris:cmd:::/usr/sbin/groupadd:uid=0" ./temp |\
grep -v "User Management:solaris:cmd:::/usr/sbin/groupdel:uid=0" > ./temp1

-bash-3.2# bash t1.sh
t1.sh: line 2: \: command not found


"bash Solaris перенос комманд"
Отправлено Andrey Mitrofanov , 21-Авг-14 13:59 
>  -bash-3.2# cat t1.sh
>  #!/bin/bash
>  grep -v "User Management:solaris:cmd:::/usr/sbin/groupadd:uid=0" ./temp |\
>  grep -v "User Management:solaris:cmd:::/usr/sbin/groupdel:uid=0" > ./temp1

Со второым ./temp, вижу, разобрался. Может и с регулярными выражениями пора?

> -bash-3.2# bash t1.sh
> t1.sh: line 2: \: command not found

\r\n в конце строки, вместо положенного \n после редактирования виндовым ноутпадом??


"bash Solaris перенос комманд"
Отправлено zd3n , 21-Авг-14 14:01 
Вот что у меня вышло:

bash-3.00$ cat temp
User Management:solaris:cmd:::/usr/sbin/groupadd:uid=0
User Management:solaris:cmd:::/usr/sbin/groupdel:uid=0
User Management:solaris:cmd:::/usr/sbin/groupmod:uid=0
User Management:solaris:cmd:::/usr/sbin/roleadd:uid=0
User Management:solaris:cmd:::/usr/sbin/roledel:uid=0
User Management:solaris:cmd:::/usr/sbin/rolemod:uid=0
User Management:solaris:cmd:::/usr/sbin/useradd:uid=0
User Management:solaris:cmd:::/usr/sbin/userdel:uid=0
User Management:solaris:cmd:::/usr/sbin/usermod:uid=0
User Management:suser:cmd:::/usr/sbin/grpck:euid=0
User Management:suser:cmd:::/usr/sbin/pwck:euid=0
bash-3.00$ cat t1.sh
#!/bin/bash
grep -v "User Management:solaris:cmd:::/usr/sbin/groupadd:uid=0" ./temp |\
grep -v "User Management:solaris:cmd:::/usr/sbin/groupdel:uid=0"  > ./temp1
bash-3.00$ bash t1.sh
bash-3.00$ cat temp1
User Management:solaris:cmd:::/usr/sbin/groupmod:uid=0
User Management:solaris:cmd:::/usr/sbin/roleadd:uid=0
User Management:solaris:cmd:::/usr/sbin/roledel:uid=0
User Management:solaris:cmd:::/usr/sbin/rolemod:uid=0
User Management:solaris:cmd:::/usr/sbin/useradd:uid=0
User Management:solaris:cmd:::/usr/sbin/userdel:uid=0
User Management:solaris:cmd:::/usr/sbin/usermod:uid=0
User Management:suser:cmd:::/usr/sbin/grpck:euid=0
User Management:suser:cmd:::/usr/sbin/pwck:euid=0
bash-3.00$ wc temp
      11      22     590 temp
bash-3.00$ wc temp1
       9      18     480 temp1
bash-3.00$


"bash Solaris перенос комманд"
Отправлено zd3n , 21-Авг-14 13:56 
>[оверквотинг удален]
> User Management:solaris:cmd:::/usr/sbin/usermod:uid=0
> User Management:suser:cmd:::/usr/sbin/grpck:euid=0
> User Management:suser:cmd:::/usr/sbin/pwck:euid=0
> -bash-3.2# wc temp
>       11      
> 22     590 temp
> -bash-3.2# wc temp1
>       10      
> 20     535 temp1
> -bash-3.2#

У меня на solaris отработало точно также...


"bash Solaris перенос комманд"
Отправлено Andrey Mitrofanov , 21-Авг-14 14:00 
> У меня на solaris отработало точно также...

Второй :) "./temp". groupadd-ы пролезают.


"bash Solaris перенос комманд"
Отправлено DiJey , 22-Авг-14 09:55 
Похоже что-то отключено, буду разбиратся, спасибо за содействие.
Если что интересное увижу отпишу. У меня в скриптах еще echo  не на всех серверах отрабатывает. Буду сравнивать с макетом.