Как выполнить псевдоним bash в новом окне экрана?


4

В моем .screenrc у меня есть несколько строк, похожих на следующие:

screen -t qf1 bash

Так что для этого окна я сейчас выполняю bash. Вместо этого я хотел бы выполнить следующий псевдоним "qf", который является псевдонимом bash, который выполняет lynx для определенного URL.

Однако я получаю следующую ошибку:

"Cannot exec 'qf': No such file or directory"

Я знаю, что это, вероятно, как-то связано с путем, но обеспечивает:

screen -t qf1 lynx www.google.com

Тоже не работает Я знаю, что упускаю что-то очевидное. Спасибо!


Ответы:


5

Скорее всего, ваши псевдонимы bash не доступны для просмотра. Есть несколько способов это исправить.

  • Если ваши псевдонимы находятся в .bash_profileпереместить их в .bashrc
  • Начните свои раковины с -l переключиться на принудительный анализ bash .bash_profile

Посмотри на этот вопрос по аналогичной проблеме.

РЕДАКТИРОВАТЬ

Есть две вещи, которые мешают этому работать:

использование bash синтаксис командной строки для передачи команд в новое окно

    screen -t "YayScreen" bash -c "man screen"

Псевдонимы - это боль на экране

Создайте bash-скрипт с нужным именем в вашем $ PATH (скажем, /bin ), и вызовите это так же, как в примере выше. Например, у меня есть очень простой псевдоним psgrep который ищет процесс по имени. Я создаю этот скрипт как /bin/psgrep:

#!/bin/bash
ps aux | grep -v grep | grep $1

Тогда я могу добавить это к моему .screenrc:

screen -t "Useless Command" bash -c "psgrep gnome"

Смотри этот старый Сообщение на форуме Mac OS X для более длинного списка того, что не Работа.


Хорошо, я попытался сделать "screen -t qf1 bash -l qf" безуспешно. Я уже видел этот вопрос. Я думаю, что этот вопрос больше о синтаксисе .screenrc.
— cat pants

Ах. Я недостаточно внимательно прочитал ваш первоначальный вопрос. Добавляем еще один ответ сейчас.
— Lemur

Или просто редактировать. Это тоже работает.
— Lemur

Отлично, это именно то, что мне было нужно. Благодаря тонну!!
— cat pants
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.