我发现,与我正在合作的新公司,我经常需要访问寿命相对较短的Linux服务器。 在每台服务器上都有一个帐户,但是每当创build一个新帐户时,我都必须经历通过我的.bashrc传输的麻烦。 然而,在大约一个月的时间内,服务器将不再存在。 我也必须短时间访问许多其他服务器(分钟),但是由于我在很多服务器上工作,所以不值得通过我的.bashrc进行传输,这大大浪费了时间。 我不想改变服务器上的任何东西,但是我想知道是否有一个“per-connection”.bashrc的方法,所以无论何时我将SSH连接到服务器,我的设置都将用于该会话。 如果可能的话,如果我可以用其他configuration文件(如gitconfig文件)做同样的事情,那将会很好。
我把“退出”放在我的.bashrc文件中。 我没有物理访问机器,所以连接到它我使用SSH。 我没有root权限。 每次连接到服务器时,连接都会自动closures。 到目前为止,我已经尝试过: 用scp和sftp覆盖.bashrc。 在我能做任何事之前连接closures。 使用几个不同的GUI程序来访问ssh(连接closures) 用ftp覆盖文件。 (不能使用ftp) 从我家的电脑上 $ ssh主机“bash –noprofile –norc”(连接closures) $ ssh主机“mv .bashrc bashrc_temp”(连接closures) $ ssh主机“rm .bashrc”(同样的事情) $ ssh host -t(连接closures) 有什么我可以做的,禁用.bashrc或者可能覆盖之前.bashrc来源的文件? UPDATE @ RING0 我尝试了你的build议,但没有运气。 bashrc文件仍然先运行。 我尝试的另一件事是login另一个帐户和sudo编辑.bashrc,但我没有这个帐户的sudo权限。 我想我会联系pipe理员。 编辑 @shellholic 我不敢相信,但是这个方法奏效了! 尽pipe在.bashrc文件的前几行(只包含几个块和导出语句)中出现了“退出”,但我还是设法在二十次尝试(约需3分钟)内成功地中断它。 我删除了.bashrc中的违规行,并且所有内容都按照正常的顺序运行。
我有用户访问(没有根)到Linux(Suse)机器,我开发了一些bash脚本和相应的bash自动完成规则。 由于脚本只属于我的用户,因此我需要完整的规则只对我“活跃”(一部分来自我没有root写入权限的事实),将我的bash_completion脚本放到/etc/bash_completion.d/文件夹中不是一个选项。 目前我给自己的文件命名为.bash_completion.myscript ,并直接从我的.bashrc文件中.bash_completion.myscript ,但是我想知道是否有任何其他的“标准”方式来实现这些结果,这已经在bash实现中考虑过了。 例如,创build一个文件夹/home/myuser/.bash_completion.d/ ?
“login”和“交互式”bash shell有什么区别? 我在下面引用了维基百科,但是有没有人能给出更好的答案? 编辑:这是一个社区wiki,所以也许而不是投票closures你可以提供的例子,哪些情况下需要哪种types的$shell 启动脚本 当Bash开始时,它以各种不同的脚本执行命令。 当Bash作为交互式loginshell被调用时,它首先从文件/ etc / profile中读取和执行命令,如果该文件存在的话。 读取该文件后,它将按照该顺序查找〜/ .bash_profile,〜/ .bash_login和〜/ .profile,并从第一个存在并读取的第一个中读取和执行命令。 当loginshell退出时,Bash从文件〜/ .bash_logout中读取并执行命令(如果存在)。 当一个不是loginshell的交互式shell被启动时,如果该文件存在,Bash将读取并执行〜/ .bashrc中的命令。 这可以通过使用–norc选项来禁止。 –rcfile文件选项将强制Bash从文件而不是〜/ .bashrc中读取和执行命令。 维基百科
所以,让我们假设一个人在他们的东西里打了一些东西 bashrc阻止他(或她)通过sshlogin(即sshlogin由于文件错误而退出)。 有没有什么办法可以login而不执行(或者.bashrc,因为运行另一个),或者删除/重命名/使文件无效? 假设您没有物理访问权限,并且这是唯一有权访问的用户帐户。 参考:.bash_profile包括.bashrc: [[ -f ~/.bashrc ]] && . ~/.bashrc 编辑:我试过的东西: ssh user @ host“rm〜/ .bashrc” scp nothing user @ host:/RAID/home/tom/.bashrc ssh user @ host“/ bin / bash –norc” 所有提供的错误: /RAID/home/tom/.bashrc: line 16: /usr/local/bin/file: No such file or directory /RAID/home/tom/.bashrc: line 16: exec: /usr/local/bin/file: cannot execute: No such file or directory
有什么你不能没有生活,将使我的生活更容易? 这里有一些我使用('盘空间'和'文件夹'特别方便)。 # some more ls aliases alias ll='ls -alh' alias la='ls -A' alias l='ls -CFlh' alias woo='fortune' alias lsd="ls -alF | grep /$" # This is GOLD for finding out what is taking so much space on your drives! alias diskspace="du -S | sort -n -r |more" # Command line mplayer movie watching for […]