Можно ли определить, где находится .bash_profile в командной строке bash?

Я запускаю bash программно из объектива c, чтобы создать приложение, подобное терминалу. После запуска я хотел бы выполнить некоторые команды до того, как переключиться на пользователя. Обычно они были в .bash_profile . Этот файл недоступен для меня, а не то, что я хотел бы портить, так или иначе, поскольку я не хочу использовать стандартную среду bash для пользователя. Я попробовал ключ -c script.sh но после того, как script.sh завершен, bash завершает работу. Существуют ли какие-либо другие параметры, кроме программной команды ввода команды, которую мне нужно запустить? Я бы предпочел, чтобы пользователь не видел все.

  • Выделение обычного файла из символической ссылки
  • выполнение команд последовательно в bash
  • Предоставить перенаправление на команды, используемые в составных командах
  • Установить переменную для расширения до явной пустой строки?
  • раздел анализа аргументов по умолчанию
  • Различия между ключевым словом, зарезервированным словом и встроенным?
  • Забудьте хэшированное исполняемое местоположение в интерактивной оболочке bash
  • Использование оператора bash «&» с разделителем «;»?
  • 2 Solutions collect form web for “Можно ли определить, где находится .bash_profile в командной строке bash?”

    Вы можете попробовать следующее:

     bash --rcfile <your_rc_file> --noprofile -i 

    Что означают опции:

    • --rcfile : использовать в качестве файла запуска следующее:
    • --noprofile : не обрабатывать файлы .bash_profile , .profile , /etc/profile и т. д. Файлы обычно используются в оболочке входа.
    • -i : Его интерактивная оболочка (вроде как противоположная -c которая завершает onces аргумент -c , обрабатывается).

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

    Вы можете вызывать bash с помощью --rcfile myfile и иметь test -f ~/.bashrc && source ~/.bashrc в конце myfile . Предполагается, что вы запускаете интерактивную, но не входящую в систему учетную запись.

    Для оболочки входа вы должны были бы имитировать поведение bash в отношении /etc/profile , .profile , .bash_profile , .bash_login и .bash_logout , что является утомительным, но выполнимым. Вы все равно будете запускать bash --rcfile myfile но myfile будет содержать

     test -r /etc/profile && source /etc/profile for f in ~/.bash_profile ~/.bash_login ~/.profile do if test -r $f then source $f break fi done trap 'source ~/.bash_logout' 0 
    Interesting Posts

    Что означает «s» в следующем разрешении: «- rwsr-x —»

    Как контролировать сетевые подключения для приложения

    Скрипт для сравнения с файлами Excel и различиями печати

    Как определить, является ли сборка основанной на Debian?

    Как создать имя файла для моего приложения электронной почты?

    Найдено Duplicate PV в сканировании диска LVM

    Как установить M4 на Linux, избегая цикла зависимостей с Automake и Autoconf?

    Как добавить пользовательскую раскладку клавиатуры в Linux Mint

    Обновлять псевдонимы и функции после определения новых псевдонимов и функций?

    iptables –set-mark – Проложить разные порты через разные интерфейсы

    Драйвер ATI и проблема с загрузкой «Запуск тимидности alsa midi emulation»

    Как разбить текстовый файл на несколько текстовых файлов?

    Добавление команд в изображение initrd

    Как проверить правильность работы моей видеокарты (драйвера)?

    Запись вывода wget или curl в пользовательское имя файла на основе URL-адреса

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