jjzjj

linux - zsh和普通shell如何共享环境变量和别名而不互相复制

现在我尝试从普通的Ubuntubash使用zsh。当我换成zshshell时,发现之前.bashrc中的环境变量(如JAVA_HOME)不能自动迁移到.zshrc中。现在我只是将它们(导出,.bashrc中的别名)复制到.zshrc。我想知道是否有其他方便的方法可以在.bashrc中共享这些东西并且不需要显式复制它们?甚至当我在.zshrc中添加一些内容然后更改为普通bash时,仍然可以在.zshrc中共享它们,而无需将它们复制到.bashrc。我尝试在.bashrc中source.zshrc,然后换成bash,发现如下错误execbashautoload:commandnotfoun

linux - zsh和普通shell如何共享环境变量和别名而不互相复制

现在我尝试从普通的Ubuntubash使用zsh。当我换成zshshell时,发现之前.bashrc中的环境变量(如JAVA_HOME)不能自动迁移到.zshrc中。现在我只是将它们(导出,.bashrc中的别名)复制到.zshrc。我想知道是否有其他方便的方法可以在.bashrc中共享这些东西并且不需要显式复制它们?甚至当我在.zshrc中添加一些内容然后更改为普通bash时,仍然可以在.zshrc中共享它们,而无需将它们复制到.bashrc。我尝试在.bashrc中source.zshrc,然后换成bash,发现如下错误execbashautoload:commandnotfoun

linux - .bashrc 中究竟在哪里设置 PATH?

在.bashrc文件的末尾,我添加了这些行以设置我主目录中foo文件夹的路径:PATH=$PATH:/home/username/fooexportPATH;然后我输入bash:source.bashrc这些产生的错误:bash:PATH:commandnotfound我正在使用DebianSqueeze。在类似的问题here建议修改/etc/login.defs。我不想像在login.defs中那样这样做:addtherest[ofyourpaths]intheshellstartupfiles如何将文件夹foo添加到.bashrc中的PATH? 最佳答案

linux - .bashrc 中究竟在哪里设置 PATH?

在.bashrc文件的末尾,我添加了这些行以设置我主目录中foo文件夹的路径:PATH=$PATH:/home/username/fooexportPATH;然后我输入bash:source.bashrc这些产生的错误:bash:PATH:commandnotfound我正在使用DebianSqueeze。在类似的问题here建议修改/etc/login.defs。我不想像在login.defs中那样这样做:addtherest[ofyourpaths]intheshellstartupfiles如何将文件夹foo添加到.bashrc中的PATH? 最佳答案

linux - 从桌面快捷方式调用 shell 脚本时未读取 .bashrc

我在理解Linux中的行为时遇到了一个简单的问题。简而言之,在Linux上,如果我从“桌面快捷方式”调用我的sh脚本,则该脚本无法看到最新的环境变量(在bashrc中设置)。所以我想知道这个shell脚本位于什么范围内?创建测试用例并重现:创建一个简单的shell脚本“testme.sh”:!/bin/shecho"HiThisisatestscriptcheckingtheenvvar";echo"TESTVAR=$TESTVAR";readinecho"Done";为上面的脚本创建一个桌面快捷方式。cd~/Desktopvimytest-desktop.desktop//Conte

linux - 从桌面快捷方式调用 shell 脚本时未读取 .bashrc

我在理解Linux中的行为时遇到了一个简单的问题。简而言之,在Linux上,如果我从“桌面快捷方式”调用我的sh脚本,则该脚本无法看到最新的环境变量(在bashrc中设置)。所以我想知道这个shell脚本位于什么范围内?创建测试用例并重现:创建一个简单的shell脚本“testme.sh”:!/bin/shecho"HiThisisatestscriptcheckingtheenvvar";echo"TESTVAR=$TESTVAR";readinecho"Done";为上面的脚本创建一个桌面快捷方式。cd~/Desktopvimytest-desktop.desktop//Conte

linux - .bashrc for/bin/sh 有替代方案吗?

我需要一个在/bin/sh启动时运行的脚本,类似于/bin/bash的.bashrc。有什么办法吗?编辑:我尝试了/etc/profile和~/.profile,我都写了echo'helloworld'到这两个文件。这些都不起作用。当我在控制台中键入sh时,没有弹出任何内容。我正在使用ArchLinux。 最佳答案 在Arch中,/bin/sh是/bin/bash的符号链接(symboliclink),它有很多关于启动脚本的规则,调用时有特殊情况>sh:Ifbashisinvokedwiththenamesh,ittriestomi

linux - .bashrc for/bin/sh 有替代方案吗?

我需要一个在/bin/sh启动时运行的脚本,类似于/bin/bash的.bashrc。有什么办法吗?编辑:我尝试了/etc/profile和~/.profile,我都写了echo'helloworld'到这两个文件。这些都不起作用。当我在控制台中键入sh时,没有弹出任何内容。我正在使用ArchLinux。 最佳答案 在Arch中,/bin/sh是/bin/bash的符号链接(symboliclink),它有很多关于启动脚本的规则,调用时有特殊情况>sh:Ifbashisinvokedwiththenamesh,ittriestomi

linux - 我给用户添加了别名 ~/.bashrc 但 “sudo -u user -i ' alias_name'” 仍然报告 “command not found” ?

作为一个简单的例子,在用户foo的~/.bashrc中有一个别名;aliasll='ls-l'使用sudo我可以看到别名已设置;bar@laptop:~$sudo-ufoo-ialiasllaliasll=`ls-l'但是,我实际上不能使用别名;bar@laptop:~$sudo-ufoo-ill-bash:ll:commandnotfound作为bash函数的命令可以正常工作。有没有办法让别名也起作用? 最佳答案 尝试:aliassudo='sudo'http://www.shellperson.net/using-sudo-wi

linux - 我给用户添加了别名 ~/.bashrc 但 “sudo -u user -i ' alias_name'” 仍然报告 “command not found” ?

作为一个简单的例子,在用户foo的~/.bashrc中有一个别名;aliasll='ls-l'使用sudo我可以看到别名已设置;bar@laptop:~$sudo-ufoo-ialiasllaliasll=`ls-l'但是,我实际上不能使用别名;bar@laptop:~$sudo-ufoo-ill-bash:ll:commandnotfound作为bash函数的命令可以正常工作。有没有办法让别名也起作用? 最佳答案 尝试:aliassudo='sudo'http://www.shellperson.net/using-sudo-wi