bash: команда cut ничего не производит (просто пустая строка)

У меня проблема с возможностью повторять часть строки.

Вот упрощенная версия:

t=no_1187985:/home/my.name/testing/no 

Я хочу, чтобы echo no_1187985 только так:

 tt=$(echo $t | cut -d":" -f 1) echo $tt 

Но это создает просто пустое пространство (и команда не найдена ошибка в моем реальном скрипте)

Если я изменил -f 1 на -f 2, он работает для второго поля, я не понимаю, почему не первый.

Вот часть моего фактического кода для контекста:

  while read line; do #echo $line #sleep 1 path=$(dirname "$line") #echo $path #mkdir -p $(echo $path | cut -d":" -f 2) inode= $(echo $path | cut -d":" -f 1) echo $inode #mv ~/deleted/$inode $(echo $line | cut -d":" -f 2); done < .temp 

Это попытка создать recyclebin .temp – это файл с именами разных файлов для восстановления. цикл просматривает каждую строку. Он воссоздает дерево каталогов, прежде чем перемещать файлы обратно в них. файлы в настоящее время хранятся в удаленной папке и имеют свой номер inode, прикрепленный к концу. Когда файл «восстановлен» (т.е. перемещен назад), inode удаляется из имени файла.

файл .temp содержит имя файла (вместе с оригиналом и inode), а исходное имя пути разделяется разделителем «:».

One Solution collect form web for “bash: команда cut ничего не производит (просто пустая строка)”

У вас не должно быть пробелов вокруг символа = для объявления переменной.

Сценарий 1:

  • inode = something – bash пытается запустить команду с именем inode с двумя аргументами.
  • Это эквивалентно высказыванию: inode "=" "something"

Сценарий 2:

  • inode =something – bash пытается запустить команду с именем inode с 1 аргументом (строка '=something' )
  • Это эквивалентно высказыванию: inode "=something"

Сценарий 3:

  • inode= something – bash пытается запустить команду с inode установленным в пустую строку в своей среде.
  • Это эквивалентно высказыванию: inode="" something

Примечание . Проверьте раздел 2.9.1 Простые команды из приведенной ниже справки.

Ссылка: командный язык командной строки

  • эхо цветной текст с вкладками
  • попытка избежать цитат
  • Запустить исполняемый файл с переменной в Bash
  • Ubuntu unattended install: echo keypress to dialog
  • Как настроить систему, чтобы не слышать звук символа escape?
  • Повторяя что-то с несколькими кавычками и ключевыми символами (&, $,! И т. Д.),
  • Транспортировка данных в FIFO с помощью EOFs каждую секунду
  • Bash - синтаксис в эхом
  • Получать текстовый вывод из команд сценария оболочки на экране во время выполнения
  • Почему эхо игнорирует мои кавычки?
  • Вернуться к спине Трубы в команду
  • Linux и Unix - лучшая ОС в мире.