Если вы хотите подсчитать количество строк в /david/file1/test.sh
, используйте
wc -l </david/file1/test.sh
. Если вы хотите подсчитать количество строк, которые / david / file1 / test .sh
при запуске выдает:
/david/file1/test.sh | wc -l
Если вы хотите сохранить это в переменной:
line_count=$( wc -l </david/file1/test.sh )
или
line_count=$( /david/file1/test.sh | wc -l )
в зависимости от того, хотите ли вы подсчитать количество строк в файле или количество строк в вывод скрипта.
В вашей команде есть две ошибки PID_COUNT = 'cat /david/file1/test.sh | wc -l '
=
. PID_COUNT
будет строкой, а не выводом команды. Это связано с одинарными кавычками. Чтобы записать вывод команды, используйте $ (...)
, как указано выше. В любом случае, скорее всего, это ошибка «PID_COUNT: команда не найдена», а не «недопустимая -l».
Кажется, тут какое-то недоразумение.
pvcreate
сообщает вам, что устройство /dev/sda1 все еще используется (это может быть что угодно, например, оно все еще может быть смонтировано, или часть массива RAID, или устройство -сопоставлено или зациклено, или любой запущенный процесс, например, если вы dd
копируете устройство... ).
wipefs
сказал бы вам то же самое, если бы вы не использовали-f
-f, --force
Force erasure, even if the filesystem is mounted.
Если устройство все еще используется, это серьезная проблема, поскольку все, что использует устройство, может изменить данные на нем. Таким образом, вам действительно следует сначала размонтировать устройство (или иным образом убедиться, что оно больше не используется ), прежде чем что-либо делать с wipefs
, pvcreate
, mkfs
и т.п.
wipefs
в лучшем случае только стирает какие-то магические байты на устройстве, никаких других проблем это для вас не решает, если оно все еще смонтировано, вы должны размонтировать его самостоятельно (или перезагрузиться и надеяться, что тогда оно не сможет смонтироваться ),если он все еще используется, вам придется выяснить, что все еще использует его и почему, а затем решить, как это остановить.