Ubuntu 14.04 не обнаруживает Интернет при двойной загрузке

EDIT

EDIT : создать ярлык автозаполнения в .inputrc и функцию в .bashrc. Запустите команду, как обычно, введите, но вместо ENTER нажмите комбинацию клавиш, указанную вами в .inputrc

. Человек, который разместил щедрость по этому вопросу, сказал:

«Все существующие ответы требуют ввода дополнительной команды после команды. Мне нужен ответ, который делает это автоматически ».

При исследовании решений этой проблемы я наткнулся на этот вопрос из stackexchange, что позволяет привязать ENTER J к последовательности команд: Ctrla (переход к началу строки) , поместите строку «mesure» перед введенной командой, Ctrlm (выполнить)

Таким образом, вы получаете функциональность автозаполнения и отдельную команду J для измерения времени, в то время как сохранение первоначальное назначение второй функции, которую я написал ниже.

На данный момент вот содержимое моего файла ~/.inputrc:

"\C-j": "\C-a measure \C-m"

И вот содержимое .bashrc (примечание , Я не использовал bash навсегда - я использую mksh как свою оболочку, следовательно, это то, что вы видите в исходном сообщении. Функциональность все та же)

PS1=' serg@ubuntu [$(pwd)]
================================
$ '
function measure () 
{

/usr/bin/time --output="/home/xieerqi/.timefile" -f "%e" $@ 

if [ $( cat ~/.timefile| cut -d'.' -f1 ) -gt 15 ]; then

    notify-send "Hi , $@ is done !"

fi


}

Оригинальная запись

Вот моя идея - используйте функцию в .bashrc. Основной принцип - используйте /usr/bin/time для измерения времени, которое требуется для завершения команды, и если оно более 15 секунд, отправьте уведомление.

function measure () 
{

if [ $( /usr/bin/time -f "%e" $@ 2>&1 >/dev/null ) -gt 15 ]; then

    notify-send "Hi , $@ is done !"

fi


}

Здесь я перенаправляю вывод на /dev/null, но для просмотра вывода также можно перенаправить файл.

Гораздо лучший подход, IMHO, заключается в отправке вывода времени в какой-либо файл в вашей домашней папке (просто чтобы вы не загрязняли свою систему таймифами и всегда знали, где искать). Вот вторая версия

function measure () 
{

/usr/bin/time --output=~/.timefile -f "%e" $@ 

if [ $( cat ~/.timefile | cut -d'.' -f1 ) -gt 15 ]; then

    notify-send "Hi , $@ is done !"

fi


}

И вот скриншоты первой и второй версий, в этом порядке

Первая версия, нет выхода

Вторая версия, с выход enter image description here

1
задан 13 April 2017 в 15:24

0 ответов

Другие вопросы по тегам:

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