awk '{print $NF}'
sed 's/[[:blank:]]*$//;s/.*[[:blank:]]//'
, который все равно будет печатать пустую строку для каждой пустой линии. Чтобы избежать этого:
awk 'NF{print $NF}'
sed 's/[[:blank:]]*$//;s/.*[[:blank:]]//;/./!d'
steeldriver корректен . То, что необходимо сделать, также:
Использование команда, которая читает в стандартном входе:
#!/bin/bash
$ fun= (кошка)
эхо "$fun"
Или просто:
#!/bin/bash
кошка
Или, для преобразования стандартного входа в позиционные параметры используйте xargs
:
$ отзываются эхом 1 | xargs./test.sh
Или, используйте сценарий путем, он, как предполагается, используется (как кодировано):
./test.sh 1
Сделайте это вместо
#!/bin/bash
echo "$@"
Затем запустите так
./test.sh 1
Это будет эхо 1
, не усложняйте все. И кроме того, почему бы просто не использовать echo
? Нет причин использовать этот сценарий.