В моей системе установлены Android -Studio, инструменты Android -и несколько других пакетов, связанных с Android. Переменная ANDROID_HOME
вообще не установлена. Это наводит меня на мысль, что вы где-то вручную установили его. Загляните в такие места, как .profile
, .bashrc
и друзья. Если вам не повезло, вы можете попробовать что-то вродеgrep -r 'ANDROID_HOME' ~/
(это не лучший шаблон для использования из-за его неэффективности ). Есть лучшие способы сделать это.
Команда adb, которую вы видите, представляет собой просто сервер adb, который был разветвлен и, таким образом, работает в фоновом режиме, он прослушивает TCP-соединения на порту 5037. Скорее всего, это просто что-то, что вы забыли завершить. Можно просто запустить pkill adb
, чтобы завершить этот процесс.
Учитывая все вышесказанное, я думаю, что ваши пакеты, связанные с Android, полностью удалены . вы можете проверить, какие пакеты Android установлены, используя pacman -Qs android
. Если вы уверены, что действительно хотите удалить все следы Android из вашей системы, попробуйте запустить что-то вродеsudo pacman -Rn $(pacman -Qsq android
)
Во-первых, find может что-то делать со своими результатами; посмотрите на флаг -exec {}
. Вы можете сделать что-то вроде:
find /Volumes/DATA/ -name "*.app" -depth 1 2> /dev/null -exec cp '{}' /Volumes/VMWare/img/ \;
Обратите внимание на одинарные кавычки вокруг заполнителя файла "{}".
Вы также можете использовать канал с xargs.
Используйте -print0
с find
для нулевого завершения имен файлов и передайте этот вывод в xargs
с -0
, чтобы указать xargs
, что имена файлов из стандартного ввода заканчиваются нулем. И используйте -I
для замены строк в начальных аргументах.
find /Volumes/DATA/ -name '*.app' -maxdepth 1 -print0 | xargs -0 -I fn cp fn /Volumes/VMWare/img/
Я запускаю i3 на Ubuntu 18.04. Вот как я это решаю:
* * * * * XDG_RUNTIME_DIR=/run/user/$(id -u) notify-send Hey "this is dog!"
В zsh
, `...`
, как и современная форма $(...)
, разбивается на символы $IFS
, которые по умолчанию включают SPC, TAB, NL и NUL.
Из них только NUL не может встречаться в пути к файлу, поэтому вам потребуется:
IFS=$'\0'
cp $(find /Volumes/DATA/ -name "*.app" -depth 1 -print0 2> /dev/null) /Volumes/VMWare/img/
Или, вместо использования неявного разделения слов, выполненного $(...)
с использованием глобального параметра, используйте явный оператор разделения:
cp ${(0)"$(find /Volumes/DATA/ -name "*.app" -depth 1 -print0 2> /dev/null)"} /Volumes/VMWare/img/
Но в любом случае использование find
здесь не имеет никакой пользы по сравнению с:
cp /Volumes/DATA/*.app(D) /Volumes/VMWare/img/
(здесь используется квалификатор D
glob, поэтому он также включает скрытые файлы, как это делает find
, хотя, вероятно, вы все равно захотите их пропустить ).