Проблема заключается в том, что переменная окружена двойными кавычками («»). Уберите его, и все будет хорошо.
VAR="This displays with \
extra spaces."
echo ${VAR}
Вывод
This displays with extra spaces.
Проблема заключается в том, что двойная кавычка переменной сохраняет все символы пробела. Это можно использовать в случае явной необходимости.
Например,
$ echo "Hello World ........ ... ...."
напечатает
Hello World ........ ... ....
А при удалении кавычек другой
$ echo Hello World ........ ... ....
Hello World ........ ... ....
Здесь Bash удаляет лишние места в тексте, потому что в первом случае весь текст принимается как «единственный» аргумент и, таким образом, сохраняет лишние места.
Но во втором случае команда echo
получает текст в качестве 5 аргументов.
Цитирование переменной также будет полезно при передаче аргументов командам.
В приведенной ниже команде echo
получает только один аргумент как «Hello World»
$ variable="Hello World"
$ echo "$variable"
Но в приведенном ниже сценарии echo
получает два аргумента как Hello
и World
$ variable="Hello World"
$ echo $variable
-121--7324- Порт 443 HTTPS. Выходные данные netstat
:
tcp6 0 0 [::]:https [::]:* LISTEN
Ясно, что процесс прослушивает 443 порта. Чтобы подтвердить, является ли указанный выше процесс процессом Apache (httpd), необходимо выполнить команду как root. Вместо этого используйте ss
, поскольку netstat
устарел:
# ss -tlnp
-121--52602- Я не совсем уверен в этой проблеме, но похоже, что ваши зависимости разорваны или список пакетов устарел.
1) Попробуйте обновить список пакетов:
sudo apt-get update
2) И проверьте свои зависимости:
sudo apt-get check
3) Есть ли некоторые нарушенные зависимости:
sudo apt-get clean
sudo apt-get autoclean
sudo apt-get remove
sudo apt-get autoremove
4) Вернуться к шагам 1) и 2)
Если они все еще не работают, попробуйте найти и установить пакет из Synaptic package manager.
Другой подход sed
:
sed 's/\(^[^;]*\;[^;]*\).*\(\;[^;]*\;$\)/\1\2/'
Вывод: клеточные организмы; Eukaryota; Tribolium castaneum;
С помощью GNU find (реализация на не встроенных Linux и Cygwin):
find /search/location -type l -xtype d
При поиске реализаций, в которых отсутствует основной -xtype
, можно использовать два вызова find
, один для фильтрации символьных ссылок, а другой для фильтрации ссылок, указывающих на каталоги:
find /search/location -type l -exec sh -c 'find "$@" -L -type d -print' _ {} +
или вы можете вызвать программу test
:
find /search/location -type l -exec test {} \; -print
Или, если у вас есть zsh, это просто вопрос двух glob квалификаторов ( @
= символическая ссылка, -
= следующие квалификаторы действуют на цель ссылки, /
= является каталогом):
print -lr /search/location/**/*(@-/)
-121--62560- Без дополнительной информации, чем эта, я полагаю, вы пытаетесь скопировать файл объемом 4,4 ГБ на внешний диск с файловой системой FAT. FAT не может обрабатывать файлы размером более 4 ГБ.
Я думаю о проблеме IOPS. Это обычно делает ваш компьютер вялым и в конечном итоге замораживается. Чтобы проверить его, запустите процесс копирования и монитора времени ожидания CPU ( WA
), используя команду TOP
:
$top
top - 13:24:59 up 6 days, 56 min, 8 users, load average: 0.86, 0.65, 0.63
Tasks: 247 total, 2 running, 245 sleeping, 0 stopped, 0 zombie
%Cpu(s): 12.3 us, 2.2 sy, 0.0 ni, 85.4 id, 0.2 wa, 0.0 hi, 0.0 si, 0.0 st
Обратите внимание на поле WA
на последней строке выше Отказ Если этот процент доходит до высокого, 50-70 или более (в зависимости от нагрузки на систему), ваш компьютер станет вялым и, в конечном итоге, замораживается.
Если вы узнаете, что это проблема IOPS, вы либо используете другой / лучший USB-накопитель, или вы приостановите процесс копирования, пока CPU ждет время, пока не падает до 5%, а затем возобновить его.
Наполнение всего доступного пространства на дисках не заморозит ваш компьютер, но вместо этого показать сообщение об ошибке.