Команда BASH сохранить в переменную с переменной в команде - PullRequest
0 голосов
/ 10 февраля 2012

У меня есть команда, которую я хочу запустить первым, я выполнил другую команду, чтобы получить каталог, который сохраняется в переменной:

path_white="/sys/block/sdb"

Затем я хочу запустить другую команду, используя эту переменную, и сохранить выводв переменной.Я получаю ошибки и не знаю, что я делаю неправильно.Любая помощь будет оценена.

path_pci_white=$(ll $path_white | xargs | cut -d / -f 8 | cut -b 6-13)

похоже, что не вся команда запускается ниже, это ошибка

/sys/block/sdb : is a directory

, когда я запускаю

ll /sys/block/sdb | xargs | cut -d / -f 8 | cut -b 6-13

в терминале, я получаюЯ хочу вывод Я просто хочу использовать переменную и поместить вывод в переменную

Спасибо

Ответы [ 2 ]

2 голосов
/ 10 февраля 2012

ll - это псевдоним для ls -l, а псевдонимы не определены в сценариях оболочки. Вместо этого используйте явный ls -l.

1 голос
/ 10 февраля 2012

Не должно быть трубы после xargs.xargs принимает в качестве аргументов команду, которую он будет запускать.Иначе в этом нет смысла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...