Как выполнить псевдоним 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

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

cat pants
источник

Ответы:

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 для более длинного списка того, что не Работа.

Lemur
источник
Хорошо, я попытался сделать "screen -t qf1 bash -l qf" безуспешно. Я уже видел этот вопрос. Я думаю, что этот вопрос больше о синтаксисе .screenrc.
cat pants
Ах. Я недостаточно внимательно прочитал ваш первоначальный вопрос. Добавляем еще один ответ сейчас.
Lemur
Или просто редактировать. Это тоже работает.
Lemur
Отлично, это именно то, что мне было нужно. Благодаря тонну!!
cat pants