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

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

  • Как выбрать все скрытые файлы в консоли?
  • Создать псевдоним для изменения содержимого каталога и списка
  • Как команда выполняется после команды while, выполняемой над циклами?
  • Как переместить файлы в подкаталоги по счету?
  • извлечение параметра из нескольких выходных параметров в 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

    Есть ли способ сделать sed неудачным, если шаблон не найден?

    Как узнать, какая версия Debian я запускаю?

    как переместить много подпапок в родительский каталог?

    sudo: "g ++: команда не найдена"

    Не удалось запустить apache

    Средство просмотра изображений с автоматической перезагрузкой при смене файла?

    Управление вентиляцией Mint

    Как отключить систему через сообщение ConsoleKit DBus как пользователя?

    Почему tar не требует перезаписи существующих файлов?

    список всех файлов с расширением .log за исключением одного

    Сравнение двух файлов и запись несогласованных строк вместе с несогласованными столбцами. Указание несогласованных столбцов – это моя основная проблема

    Изменить размер домашнего каталога XFS в LVM

    Как выполнить скрипт, расположенный в том же каталоге, что и текущий скрипт?

    Debian 6 Squeeze – установка build-essentials – gcc / g ++

    Как я могу проверить, установлен ли каталог / tmp на моей системе CentOS 5.x на tmpfs?

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