Рейтинг:0

Как решить mkdir: ошибка отсутствия операнда в Linux?

флаг id

Я очень новичок в Linux, я пытаюсь создать каталоги из файлов, которые присутствуют в текущем рабочем каталоге, один каталог создается, а другой не создается, он выдает ошибку, например mkdir: отсутствует операнд

для файлов в формате *.txt
делать
имя_папки= эхо $файлы | авк -Ф. '{напечатать $1}';
mkdir $имя_папки;
сделано
vanadium avatar
флаг cn
Какой из них не работает? Лучше использовать $(basename $file .txt) для получения базового имени файла.
флаг cn
почему вы предполагаете, что $folderName имеет значение? :)
bac0n avatar
флаг cn
Вместо этого используйте манипуляции со строками: `mkdir "${file%.*}"`, тогда вы можете вообще пропустить эту вещь с именем папки.
Рейтинг:2
флаг uz
Jos

Если вам нужен вывод команды в виде новой переменной, поместите команду между $(). Как это:

имя_папки=$(echo $files|awk -F. '{print $1} ';)

Чтобы увидеть, что вы делаете, добавьте еще один эхо команда, чтобы подтвердить правильность построения имени папки:

эхо $имя_папки

прежде чем сделать мкдир.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.