Почему это не передает работу команды по каналу над этим специальным сценарием удара?

awk '{print $NF}'
sed 's/[[:blank:]]*$//;s/.*[[:blank:]]//'

, который все равно будет печатать пустую строку для каждой пустой линии. Чтобы избежать этого:

awk 'NF{print $NF}'
sed 's/[[:blank:]]*$//;s/.*[[:blank:]]//;/./!d'
0
29.11.2014, 22:29
2 ответа

steeldriver корректен . То, что необходимо сделать, также:

  1. Использование команда, которая читает в стандартном входе:

     #!/bin/bash
    
    $ fun= (кошка)
    эхо "$fun" 
    

    Или просто:

     #!/bin/bash
    
    кошка
    
  2. Или, для преобразования стандартного входа в позиционные параметры используйте xargs:

     $ отзываются эхом 1 | xargs./test.sh
    
  3. Или, используйте сценарий путем, он, как предполагается, используется (как кодировано):

    ./test.sh 1
    
1
28.01.2020, 02:51

Сделайте это вместо

#!/bin/bash
echo "$@"

Затем запустите так

./test.sh 1

Это будет эхо 1 , не усложняйте все. И кроме того, почему бы просто не использовать echo? Нет причин использовать этот сценарий.

0
28.01.2020, 02:51

Теги

Похожие вопросы