Questions tagged «profile»

1
找出启动时bash正在运行哪些脚本
启动bash终端后,我注意到PATH变量包含重复项。我的终端启动了一个登录shell,因此~/.bash_profile是Source,然后是~/.profile和~/.bashrc。仅在~/.profile其中创建重复的路径条目。 要学究一点,这是应该来源的文件的来源顺序: Sourced /etc/profile Sourced /etc/bash.bashrc Sourced .bash_profile Sourced .profile Sourced .bashrc 在任何人将其标记为“ PATH变量包含重复项”的重复项之前,请继续阅读。 最初,我认为这与~/.profile源两次有关,因此无论何时将文件写入日志文件,都令人惊讶,它仅记录了一个条目,这告诉我它仅源一次。更令人惊讶的是,当我注释掉其中的条目时~/.profile,这些条目仍然出现在PATH变量中。这导致我得出三个结论,其中一个很快就被排除在外: Bash会忽略有效的bash注释,但仍会执行注释的代码 有一个脚本可以读取~/.profile和忽略任何打印输出的代码(例如,日志文件) 我的另一本~/.profile正在其他地方采购 第一个,我很快得出结论,由于进行了一些快速测试,情况并非如此。第二和第三个选项是我需要帮助的地方。 如何在终端启动时收集执行脚本的日志?我echo在检查过的文件中使用过这些文件,以了解它们是否来自bash,但我需要找到一个确定性的方法,该方法可以在终端准备好开始输入时跟踪执行情况。 如果上述方法不可行,那么任何人都可以建议我在哪里可以看到正在运行的脚本。 以后的参考 这是我现在用来添加到我的路径的脚本: function add_to_path() { for path in ${2//:/ }; do if ! [[ "${!1}" =~ "${path%/}" ]]; then # ignore last / new_path="$path:${!1#:}" export "$1"="${new_path%:}" # remove trailing …
15 bash  profile 

2
Linux发行版中的gnome-terminal配置文件存储在哪里?
我用过(Red Hat,Ubuntu,CentOS等)。这些发行版利用Gnome终端,并通过位于终端窗口(通常是在其中直接输入命令)上方的下拉菜单,提供灵活的方式来设置不同的终端配置文件。这些配置文件允许更改不同文件的字体和颜色属性等。 这些不同的终端配置文件存储在哪里?

2
在Wayland上为gnome设置环境变量,在虚拟终端(或ssh)上为bash设置环境变量
Gnome 3.22默认使用Wayland。Wayland上的Gnome无法读取~/.profile(或~/.bash_profile或/etc/profile)。见https://bugzilla.gnome.org/show_bug.cgi?id=736660。 我的初始化文件设置如下: .bash_profile什么也不做,但源.profile和.bashrc .profile只设置环境变量,例如PATH和LC_MESSAGES .bashrc为诸如less和的应用程序设置一些特定于bash的设置,别名和环境变量grep。 效果(在Wayland之前)如下: 当我以图形方式登录时.profile,会读取并设置PATH和LC_MESSAGES设置环境变量。当我在终端仿真器中打开bash时,会.bashrc被读取。 当我在虚拟终端下登录时.bash_profile,将读取.profile并依次读取和.bashrc。 当我使用ssh登录时,行为类似于虚拟终端。 在所有情况下.profile,.bashrc均已阅读并且设置了我的环境。 因此,现在gnome 3.22使用了Wayland,而Wayland无法读取.profile。如何设置初始化文件,以便再次获得如上所述的效果? 请注意,我不坚持.profile读取某些文件(如)。我想要以一种明智的方式来设置我的环境。这意味着我想将bash特定设置保留在bash初始化文件中,并将其他设置保留在其他初始化文件中。另外,我也不想在其他文件上复制设置。 我使用arch linux。欢迎所有发行版本的答案。当提出解决方法时,请同时描述副作用以及优缺点。 更新2017年11月:据我了解GNOME开发者都承认,人们期待他们的登录shell的配置文件(.profile并.bash_profile在bash的情况下)在登录后采购。无论是文本登录还是图形登录。因此,我上面概述的用例再次起作用。 gnome开发人员仍然希望远离启动登录shell。看来他们的发展方向是使用systemd环境的: https://in.waw.pl/~zbyszek/blog/environmentd.html 似乎需要一段时间才能使所有登录方法适应环境。

4
在Linux中哪里找到.bashrc文件?
我找不到我的.bash_login和.bash_profile root@linux:~# locate .bash* /etc/bash.bashrc /etc/skel/.bashrc /etc/skel/.bashrc.original /home/noroot/.bashrc /home/noroot/.bashrc.original /root/.bash_history /root/.bashrc /usr/share/base-files/dot.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc /usr/share/kali-defaults/.bashrc root@linux:~# 每个用户是否总是只有一个.bashrc和.bash_profile文件? 而且,是否始终在/ home /“用户名”目录中找到.bashrc和.bash_profile?

1
.profile和.bash_profile有什么区别?为什么我的系统上没有.profile文件?
因此,我刚接触Linux,最近在我的上网本上安装了Fedora 19。我想对Linux和CLI有了更深入的了解,所以我现在正在阅读Learn Linux:The Hard Way。 在练习3中,作者给出以下命令: ls -al 猫.profile 我尝试遵循这些指示,但无济于事。从ls -al可以看到,我的用户名目录中没有.profile文件。从我了解到的.bash_profile和.profile文件实际上是相同的。我从研究中得出的唯一区别是,.bash_profile首先被检查。 我不明白的是,为什么在Linux中有多个文件用于同一功能,为什么作者使用.profile而不是.bash_profile(如果我正确理解,系统首先找到.bash_profile时将不会读取.profile)为什么我的系统上没有.profile文件?
12 bash  profile 

2
如何添加要被Unix发现的主目录路径的哪个命令?
我已node.js在自定义位置安装并将该位置添加到$PATHin .profile文件中。 $ node --version v0.6.2 $ which node $ echo $PATH /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:~/Unix/homebrew/bin $ cat ~/.profile export PATH="$PATH:~/Unix/homebrew/bin" Node.js本身运行良好。问题是它没有按which命令列出。所以我npm现在不能安装。因为npminstall无法找到的位置node.js。如何使node二进制文件被发现which?
12 path  profile  home  which 

3
$ HOME / bin目录不在$ PATH上
在我~/.profile的最后一个代码块中,应该这样加载我的个人代码bin/ directory: # set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi 但它似乎未加载: echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games 为什么这不起作用?(我的shell是bash。) 编辑跳跳虎 echo $0 => bash echo $HOME => /home/student whoami => student less /etc/*-release => PRETTY_NAME="Debian GNU/Linux 9 (stretch)" NAME="Debian GNU/Linux" VERSION_ID="9" …

4
.profile并非来自Debian Wheezy LXDE
我从添加$HOME/bin到。但是,它似乎不是在登录期间获取的。我使用登录管理器- 我认为不是。我知道这与执行哪些脚本有关。$PATH~/.profilelxdmstartx 为了说明这一点,请参阅$HOME/bin在我明确获得source之后如何添加~/.profile。但是,是否不应该在图形登录期间获取它? sashoalm@aspire:~$ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games sashoalm@aspire:~$ source ~/.profile sashoalm@aspire:~$ echo $PATH /home/sashoalm/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games sashoalm@aspire:~$
11 profile  lxde 

1
您如何为es设置环境?
最近几天我一直在玩es,它(如rc)具有一个怪癖/功能,即它仅.esrc在登录时运行其启动脚本()。在每个交互式会话中运行代码的通常方法是将该代码放入%prompt函数中。 当然,%prompt如果es -l从未运行过,则没有任何功能。 那么,问题来了:当您通过gdm或类似资源(仅源.profile(或.xprofile,.xsession等))进入时,如何设置登录环境?我想出的最好的是: if [ -f "$HOME/.esrc" ]; then eval "`es -l <<-x sh <<<'export -p' x`" fi 这似乎令人震惊。有更好的方法吗?

5
通过ssh启动文件
在启动任何sh shell之前,我需要执行一些重要命令。这是在SSH命令(ssh host somecommand)和其他运行命令的程序中传递SSH命令所必需的。 在我.profile有这个: ihammerhands@wreckcreations:~> cat .profile #specific environment and startup programs export PS1="\u@wreckcreations:\w> " export PYTHONPATH=~/python/lib/python2.4/site-packages export PATH=$PATH:~/bin:~/python/bin 但是,这失败了: W:\programming\wreckcreations-site\test-hg>ssh name@host echo $PATH Enter passphrase for key '/home/Owner/.ssh/id_rsa': /usr/local/bin:/bin:/usr/bin 注意缺少的PATH选项 sh配置文件的专有名称是什么?注意:我没有root访问权限,并且不希望将此权限应用于其他用户。还有另一种方法吗? 编辑:似乎/bin/sh链接到bash,这并不奇怪。令人惊讶的是,我的个人资料仍然被忽略。有什么建议?
10 bash  ssh  shell  profile 



2
同一用户的多个虚拟配置文件
很多时候,一个用户使用多个“身份”:工作,开源,学术界等,所有这些都需要不同的ssh密钥,编辑器配置,git config等。 我想知道是否有任何工具可以在具有相同UNIX用户的“虚拟配置文件”之间进行切换。最好可以使您也具有不同的默认二进制文件/库(例如,在一个配置文件中,“ python”将运行python2.7,而在另一个配置文件中将运行python3)。 我知道可以使用环境变量,别名和链接文件的组合来设置它,但是我想知道是否有更干净的选择,例如python提供的virtualenv。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.