我有一个bash脚本,其中声明了一些函数,并且我喜欢在创建新shell时自动获取它,以便我可以立即使用这些函数。在~/.bashrc
中添加source ~/setsetup.sh
似乎不起作用。在创建新shell时自动创建源bash脚本
编辑: 〜/ .profile和〜/ .bashrc都有效。在编写脚本时,我只有一个愚蠢的错字。谢谢!
我有一个bash脚本,其中声明了一些函数,并且我喜欢在创建新shell时自动获取它,以便我可以立即使用这些函数。在~/.bashrc
中添加source ~/setsetup.sh
似乎不起作用。在创建新shell时自动创建源bash脚本
编辑: 〜/ .profile和〜/ .bashrc都有效。在编写脚本时,我只有一个愚蠢的错字。谢谢!
如果你创建新的shell是登录shell,它将执行的.bash_login
一个,.bash_profile
,或者.profile
(无论它找到第一),而不是.bashrc
。通常,如果使用这两个bash
两个bash
中的一个,则可以从.bashrc
中获取。您不应该在.profile
中放置任何bash
特定命令,因为该文件可能被其他非bash
外壳读取。例如,如果您决定从.profile
获取脚本,则应使用. setsetup.sh
表单,并确保该脚本中没有任何bash
特定内容。
'source setup.sh'或'之间的任何区别。 setup.sh' – pierrotlefou 2013-02-28 03:32:29
'.'是POSIX标准中命令的名称,它不包含同义词'source'。如果你的shell支持'source',那么两者之间没有区别。 – chepner 2013-02-28 03:37:39
有几个文件。相关的可能是你的情况~/.profile
。它通常用于发送.bashrc
。
查看man .profile
了解详情。当bash
被启动为登录shell .profile
是相关的,否则.bashrc
。
哈哈+1!举手击掌! ;) – L0j1k 2013-02-28 01:17:35
@ L0j1k:同样;) – 0xC0000022L 2013-02-28 01:18:43
你的问题是更好的答案。 :) – L0j1k 2013-02-28 01:20:00
你在找什么是~/.profile
其中应该执行每次你创建一个新的bash shell。
你确定你的'.bashrc'源代码吗? – 2013-02-28 01:16:28
尝试使用。而不是来源。例如'。 setsetup.sh' – 2013-02-28 01:17:03