Articles of shell

Вывод команды вывода в отдельных строках

ip a | egrep ‘([0-9]{1,3}\.){3}[0-9]{1,3}|enp0s’ | grep -e 10 -e 172 -e 192 | awk ‘{print $2}’ | awk ‘{gsub(“/24”, “”);print}’ | xargs Приведенная выше команда дает вывод в виде: enp0s3: 10.0.2.15 enp0s8: 192.168.56.100 Я хочу, чтобы вывод печатался в 2 разных строках, начиная с имен сетевых карт. Как я могу отредактировать вывод, чтобы получить […]

grep диапазон чисел в текстовом файле

У меня есть следующий текст в текстовом файле $ cat test 20180618: 20180619: 20180620: 20180621: 20180622: 20180623: 20180624: Я пытался разобраться с диапазоном чисел, как показано ниже, $ grep 201806{19..21} test grep: 20180619: No such file or directory grep: 20180620: No such file or directory grep: 20180621: No such file or directory Я получаю ошибку […]

Как вытащить разделенный запятыми индексный список всех отсутствующих файлов в каталоге?

В настоящее время у меня есть каталог /mydir , и внутри должно быть 1000 файлов данных в форме File1.exe, File2.exe, … , File100.exe . В настоящее время у меня есть цикл for, который ищет и выводит, какие файлы отсутствуют: for((i=1; i<=1000; i++)) do name="File.${i}.exe"; [[ ! -e "$name" ]] && echo "$i" done Мне интересно, […]

Как проверить, находится ли текущий сеанс оболочки в графическом интерфейсе или tty

Какой параметр среды в оболочке zsh позволит мне определить, нахожусь ли я на x-сервере или на консоли? Я пытаюсь найти способ реализовать различные настройки в моем .zshrc для каждого случая, когда я нахожусь в моем эмуляторе терминала и когда я нахожусь в моем tty / console В основном я буду иметь, (Псевдокод) if(current shell session […]

Замените оболочку входа в систему программой (мини-джейл)

Есть ли лучший способ, желательно без дополнительного программного стека, заблокировать определенных пользователей SSH в программе без доступа к рабочей оболочке? Представьте себе программу cli, которая должна быть единственным интерфейсом, к которому пользователь имеет доступ через ssh. Мое хакерское решение: В / etc / passwd замена пользовательской оболочки следующим скриптом: #!/bin/bash /bin/bash -c /usr/bin/cli exit 1

если условие не работает при запуске из crontab

Мое требование заключается в том, что если «Дата» совпадает со списком дат, присутствующих в «file.txt», тогда должно быть указано, что «Дата соответствует». #!/bin/bash Date=”Jun212018″ for i in `cat /home/file.txt` do if [ $i == $VT ] then echo “Date has Matched” fi done

Переименовать буквенно-цифровой файл

У меня есть следующие файлы в каталоге: GE.AARS_vs_Control16.txt GE.DHX30_vs_Control18.txt GE.DNAJC2_vs_Control18.txt Я хотел бы удалить *_Control и заменить его на *_Others , чтобы файлы были переименованы в GE.AARS_vs_Others.txt GE.DHX30_vs_Others.txt GE.DNAJC2_vs_Others.txt

Автоматический экспорт функций оболочки / bash

У меня есть функция bash, объявленная так: function foo { echo “this is foo”; } Я не вызывал export -f foo , но он все еще был доступен в подshellх. Тем не менее, обычно, когда я объявляю такую ​​функцию: foo(){ echo “this is foo”; } тогда я должен позвонить: export -f foo; я представляю себе […]

Замена ш с зш

Я заменил sh на zsh следующими командами: $ sudo mv /bin/sh /bin/sh1 $ sudo ln -s /usr/bin/zsh /bin/sh $ ls -l /bin/sh lrwxrwxrwx 1 root root 12 Jul 6 20:48 /bin/sh -> /usr/bin/zsh $ which sh /bin/sh $ sh $ exit $ zsh mpc% exit Как видите, команда sh не открывает оболочку zsh хотя она […]

ошибка mv: переименовать нет такого файла или каталога

Я написал скрипт (Shell Bash) для перемещения нескольких файлов. Эти файлы делятся на множество каталогов, каждый каталог содержит много файлов. Мне нужно переместить все файлы в один каталог. И тогда, если каталог пуст, мне нужно удалить его. Это скрипт [ $# -eq 0 ] && echo ‘insert the path of the directory’ && exit cd […]