Tag: оболочки

Скрипт не работает, но команда работает вне сценария

У меня очень простой скрипт, который в основном запускает команду, а затем отправляет отчет пользователю: #!/bin/bash FROMDATE=`date -d "last week 13:00 " '+%Y-%m-%d'` TODATE=`date '+%Y-%m-%d'` SLOWLOG='/var/log/mysql/slow-queries.log' REPORT='/home/user/slow.log.'$TODATE PTQUERY='/usr/bin/pt-query-digest' SUBJECT="Slow Query Report — $TODATE" EMAIL="blah@blah.com" $PTQUERY –since=\'$FROMDATE\' –until=\'$TODATE\' $SLOWLOG > $REPORT /usr/bin/mutt -s "$SUBJECT" "$EMAIL" < $REPORT Все работает отлично, когда я запускаю это вручную (ниже) […]

bash добавление имени файла в команду alias

У меня есть псевдоним команды ffmpeg, чтобы начать запись сеанса следующим образом: alias sreq='ffmpeg -f x11grab -r 24 -s 1024×768 -i :0.0 -qp 0 -c:v libx264 -preset veryslow' Я могу просто набрать sreq filename.mkv, чтобы начать запись. Это очень хорошо, но я хотел бы немного исправить это. так как я всегда записываю в формате .mkv, […]

Чтобы найти размер некоторой группы файлов

Я пытался выяснить общий размер всех файлов, принадлежащих конкретному пользователю. При попытке сделать это, я получаю разные размеры при выполнении разных команд. Какая команда верна, чтобы узнать общий размер всех файлов, принадлежащих конкретному пользователю? $ find . -type f -user silviya|ls -lh|head -1 total 68K $ find . -type f -user agalya|wc -c 284 $ […]

Как найти PID цикла while?

Я запускаю эту команду в терминале Bash while [ 0 ]; do i=1; echo $i; done Перед запуском этого цикла на другой вкладке gnome-terminal я сделал $ps aux | wc -l 192 Пока цикл все еще работает, я снова сделал $ps aux | wc -l 192 Мои вопросы – Почему цикл while не получает PID? […]

исходный файл в качестве аргумента?

Я прочитал об использовании источника для запуска другого файла внутри другого: source ./filename но я хочу сделать это внутри команды в качестве аргумента .. (или набор) Вот как идет команда: command \ -argument \ -argument \ source ./file -argument \ … Файл будет содержать в себе множество других аргументов: -argument \ -argument \ Как мне […]

Одновременное выполнение нескольких команд

Я хочу одновременно запускать две команды на терминале на своей виртуальной машине. У меня это есть сейчас: sudo ptpd -c -g -b eth1 -h -D; sudo tcpdump -nni eth1 -e icmp[icmptype] == 8 -w capmasv6.pcap Однако команда tcpdump запускается только при нажатии Ctrl C , и я не хочу отменять первую команду. Если я просто […]

Где хранятся переменные оболочки?

Например, если я делаю расширение параметра : $ b=1 $ echo $b 1 Где b хранится внутри? Я проверил, и это не переменная среды, потому что она не указана в printenv . Я пишу свою собственную оболочку, чтобы изучить Unix, и я использовал хеш-таблицу для хранения и извлечения переменной в качестве «таблицы поиска символов» – […]

Как получить доступ к элементу массива в оболочке?

Я использую терминал с MacOSX. Я новичок в shell, и мне нужно что-то делать с массивом. Я прочитал эту запись, введя о unix-массиве. Я попытался получить доступ к массиву в качестве своего пути, но не смог: a=(1,2) && echo "${a[0]}" это результат: 1,2 Я ожидал 1 . Что мне делать?

Подстановка команд в if-выражении

Я пытаюсь сравнить результат подстановки команды с строкой, например: if [$(ping $1)=="ping: unknown host localhosts"] then echo "no"; else echo "yes"; fi Что я здесь делаю неправильно?

Как перенаправить вывод в файл при создании tar в Solaris?

Я создаю файл tar.gz в Solaris, используя команду ниже для перенаправления вывода. cd /ebs/datatop && tar cvf – * | gzip -c > /ebs/backup/proddata.tar.gz >> /dev/null 2>> error.log Когда выполняется, создается файл /ebs/backup/proddata.tar.gz как пустой файл. Не дает никаких ошибок. Я предполагаю, что tar-файлы перенаправляются на /dev/null . Я хочу перенаправить только вывод команды в […]

Linux и Unix - лучшая ОС в мире.