По большому счёту, это сокращённый перевод вот этой статьи: How To Enable Color Emoji on Chrome for Linux. Однако у меня есть пара дополнений, без которых не удалось „завести” эту шарманку. Читать далее Цветные emoji в Google Chrome на Ubuntu
Tag: bash
Быстрое переименование файла в bash
Хотя почему переименование? Можно использовать в любых ситуациях. Надо сделать резервную копию файла? Или переименовать, добавив всего пару символов? Не нужно жать табы и править имя файла, лучше поступить так:
cp very_long_filename.txt very_long_filename.txt.bak
# пишем
cp very_long_filename.txt{,.bak}
Пример в цикле:
do
… какие-то действия …
mv output{,_${i}}.jpg
done
Получаем файлы output_001.jpg, output_002.jpg, …, output_099.jpg, output_100.jpg
. Если не нужны лидирующие нули, то for i in {1..100}
.
Сохранение истории bash после перезагрузки
Чтобы файл ~/.bash_history
не был пустым после перезагрузки, нужно всего лишь изменить его права:
Или ещё лучше так:
где username
— имя вашего пользователя.
Более точный sleep через read
В источнике всё описано достаточно подробно, поэтому я просто выложу результаты тестов, они говорят сами за себя:
real 0m43.498s
user 0m2.904s
sys 0m10.809s
$ time for ((i=0; i<10000; i++)); do read -t 0.0001; done
real 0m9.148s
user 0m0.392s
sys 0m2.808s
PS. Конечно, есть и builtin sleep
, но редко бывает разрешён по умолчанию. Да и работает, согласно источнику, всё равно медленнее (хоть и не намного).
Считывание переменных из файла в Bash
Вместо
do
…
done
можно (и часто удобнее) использовать
do
…
done
Особенности:
1. Во втором варианте применение пайпа изменяет область видимости переменных. В приведённом примере за пределами цикла while
переменная var
не будет видна, т.к. она выполняется в новом процессе.
2. При использовании варианта с пайпом (вариант 2) в переменную будет писаться вся строка, даже если в ней есть пробельные символы. Такое же поведение в варианте 1 можно спровоцировать, установив переменную окружения IFS=" "
(равной пробелу; хотя на своём опыте я убедился, что использование в качестве разделителя пробельных символов может повлечь за собой массу неудобств).