смотреть, не отображается вывод сценария

То же самое случилось со мной, Я бежал:

sudo fsck.hfsplus -f /dev/sda2

, а затем попробовал еще раз, и это работало прекрасно.

Примечание. Вы должны заменить / dev / sda2 к тому, что соответствует вашему разделу Macintosh.

0
30.10.2015, 13:13
2 ответа

Это начало улучшенной версии. Пока что я изменил его на:

  • избавьтесь от grep s ( awk может выполнять сопоставление регулярных выражений)
  • лучше использовать ps options
  • избавились от странной локальной переменной awk_cmd
  • quote $ 1 и $ 46 (теперь это 37 $ с удалением 9 нежелательных полей из ps output
#!/bin/bash

bench_run() {

    ps -u "$USER" -o time,args | awk "/simulator/ {
            time=\$1
            bench=\$37

            start=match(bench, /throughput/)
            start+=(RLENGTH+1)
            end=match(bench, /base/)
            printf ("%s %s\n", time, substr(bench, start, end-start-1))
            }
    "
}

bench_run

Вот версия, которая использует ] sed

#! /bin/sh
watch 'ps -u "$USER" -o time,args | 
       sed -n -e "/[s]imulator/ s/\([^ ]*\) .*\(throughput.*\)base.*/\1 \2/ p"'

Я использовал одинарные кавычки ' вокруг команды watch, поэтому я использовал двойные кавычки " внутри команды sed.

Если simulator - полное имя процесса, вы можете использовать:

#! /bin/sh
watch 'ps -o time,args -C simulator | 
       sed -n -e "s/\([^ ]*\) .*\(throughput.*\)base.*/\1 \2/ p"'
0
28.01.2020, 02:49

Попробуйте заменить ps aux на ps auxww , чтобы получить полноширинный вывод. ps , вероятно, проверяет ваш ввод или tty и решает действовать иначе внутри часов .

1
28.01.2020, 02:49

Теги

Похожие вопросы