Передача переменной Bourne Shell в команду вырезания - PullRequest
1 голос
/ 04 февраля 2010

Я пытаюсь сделать следующее.

foo="foo:foo1"
cc= `$foo | cut -f2 -d:`

Я понимаю, почему это не сработает, но я затрудняюсь это сделать.

Заранее спасибо.

Ответы [ 2 ]

7 голосов
/ 04 февраля 2010

Попробуйте это:

foo="foo:foo1"
cc=`echo $foo | cut -f2 -d:`

Необходимо сделать 2 изменения:

  • Вам нужно повторить значение оболочки переменная foo, а затем вырезать его.
  • У вас не должно быть пробелов вокруг = при назначении значения оболочке переменная.
0 голосов
/ 04 февраля 2010

в борне, вы можете использовать набор. Внешняя команда не требуется.

$ foo="foo:foo1"
$ IFS=":"
$ set -- $foo
$ echo $2
foo1
...