Articles of bashrc

如何在启动shell时运行“source”?

为了使用rvm( https://rvm.beginrescueend.com/ ),我需要运行 source ~/.bash_profile 每当我启动一个新的shell。 当我启动计算机时,如何自动执行此操作,而不必每次都键入? 这是我的.bash_profile: [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a fu nction* [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function

打印subhell的用户通过su –

我可以通过su -在根控制台上打印获得root权限的用户名吗? user1$ su – password: obtained root via user1 #

如何定义crontab的run和bash shell可以访问的envrionmentvariables

我想在一个可以通过不同用户的crontabs访问的地方定义环境variables,并且从bash shell运行。 我怎样才能在一个地方写一次,以便上面提到的所有用法都可以访问? 到目前为止,我正在写入/ etc / bashrc中的系统范围的bashrc,而在crontabs中,我再次在crontab定义之上再次写入

方便的date/时间戳控制台交互,例如使用shell别名?

所以我经常发现,当我发现这个过程已经过去了很长一段时间的时候,我真的很想知道什么时候我开始一个进程(或脚本)。这意味着我不能在命令行前后预先保存date(不中断)我现在知道的东西需要很长时间)..然后,当我离开terminal时,过程可能会结束。 这让我想 – 是否有可能扭曲shell别名,以便默认情况下每个命令行条目之前和之后调用一个“date”? 有时能够在terminal中回滚并感受一下东西花了多长时间,这将是超级有用的。 其他人有解决这个问题的巧妙方法 – 我相信这是一个普遍的情况。 就这个方法的解决scheme而言,我猜这跟Q有点关系。 用初始命令运行一个交互式的bash子shell而不立即返回到(“super”)shell 哪里清楚你可以prepend命令..但这只是解决scheme的一部分。 也许预先挂起,然后获取shell提示符显示当前时间将是一个相当干净的解决scheme? 思考?

我如何恢复默认的bashrc?

我不小心覆盖了.bashrc 。 我做了以下 echo 'export EDITOR=/usr/bin/nano' >> /etc/bashrc Bur我不小心键入了>而不是>> 。 我想,这是一个坏主意。 我仍然可以使用这个技巧login(在.bashrc完全执行之前Ctrl+C )。 但是,如何将其恢复到默认的.bashrc ? 我正在运行CentOS 6.5 x86_64。 如果默认的bashrc文件存在于分发的地方,我找不到它。

添加行到bashrc,现在bash没有响应

我在我的~/.bashrc (这是一个Linode盒子)的末尾添加了下面一行,并退出了我的ssh会话。 source ~/.profile 现在,当我login时,shell没有响应。 我从来没有得到提示,进入命令什么都不做。 如果我按Ctrl-c,然后closuresSSH连接。 Ctrl-Z也不做任何事情。 我无法访问~/.profile来尝试查看问题是什么。 我怎样才能得到回应?

将Linux自动完成与当前目录的wordlist和文件一起使用

我已经在我的.bashrc设置自动完成,如下所示: complete -W "$(echo `cat ~/.ssh_complete`;)" scp 但是这只使用了文件~/.ssh_complete给出的单词。 如何扩展定义,使scp上的tab-completion也使用本地目录中文件的名称。 对我的问题的一个简单的解决scheme会做(wordlist中的文件名和单词),我不需要tab-completion来识别实际的scp命令的格式/细节。 再说一遍:我希望tab-completion能够显示当前目录中的文件名,并显示文件~/.ssh_complete给出的条目。 当有新的build议时,我编辑文件.bashrc ,将其源出来,然后再次在scp上尝试tab-completion。

为什么我的.bashrc脚本不按顺序执行/不等待步骤完成?

我需要教师在偏远地区填写电子登记册,而且他们需要能够快速做到这一点,而且必须做的最less。 为了做到这一点,我已经build立了一个“香草”Debian 6安装上网本除了rdesktop之外没有任何东西。 上网本自动login(通过/ etc / inittab),然后使用用户主目录中的.profile .bashrc文件重新启动networking(修复dhcp错误),启动startx作为窗口服务器,然后启动rdesktop进入terminal服务器采取登记。 这个工作很失败,老师在不到30秒的时间内就被提交了他们的registry。 我想要发生的是,当他们closuresrdesktop(注销terminal服务器)笔记本电脑closures,但迄今为止失败了。 我原本只是把shutdown命令添加到脚本的下一行,但由于某些无法解释的原因,脚本运行不正常,机器在rdesktop运行之前closures。 我认为这是因为rdesktop是“分叉”。有没有一种方法可以等待rdesktop在脚本的其余部分运行之前退出? 我已经试过了:在关机之前关机等待hibernate 我知道我可以如何做到这一点在Visual Basic / VBScript /batch file,但我是非常新的Linux,我开始认为我错过了明显的或愚蠢的! 我的文件如下: /home/user/.profile: sudo dhclient startx — :1 /home/user/.bashrc: rdesktop -u "" -k en-gb -f servername (缺less用户名是故意的,因为它使得terminal服务器不用用上网本的linux用户名login用户名来login)

.bashrc和.ssh /看似随意消失

我有一台运行Fedora 16(3.1.0-7.fc16.x86_64)的服务器已经有一个月了。 我只能每几天或几周login一次,但是当我这样做的时候,有时候我的主目录中缺less文件。 我不保留任何文件或任何内容,所以我不能说我有什么问题,但是我知道.bash_profile,.bashrc,有时.ssh /(keyfiles,config ,authorized_keys)有时会丢失。 他们只是消失(并不总是一次,今天的bash文件已经消失了,上星期.ssh是空的)。 我似乎无法在网上find任何有关它的信息(这不是人们在干净的安装和初始更新时遇到的问题,因为系统定期更新,所以最初的更新和安装问题应该结束,而不是重复发生)。 # /etc/fstab # … /dev/mapper/vg_host-lv_root / ext4 defaults 1 1 UUID=1e51ac20-4a4c-4060-b1d2-11a675d082f2 /boot ext4 defaults 1 2 UUID=8D78-47C0 /boot/efi vfat umask=0077,shortname=winnt 0 0 /dev/mapper/vg_host-lv_home /home ext4 defaults 1 2 /dev/mapper/vg_host-lv_swap swap swap defaults 0 0 我昨天把这两条规则都join了audit.rules -w /home/me/ -p wa -k homedir_watch -w /home/me/ -k whodeletedit -pw 今天.bashrc又一次,但是当我search这些 […]

.bashrc:shopt:找不到

刚刚configuration了一个新的Rackspace实例与Ubuntu 12.04,并从他们的github拉下rbenv并安装它。 执行时出现以下错误. ./~bashrc . ./~bashrc $ . ~/.bashrc sh: 18: /home/deployer/.bashrc: shopt: not found sh: 26: /home/deployer/.bashrc: shopt: not found sh: 110: /home/deployer/.bashrc: shopt: not found sh: 28: /etc/bash_completion: [[: not found sh: 34: /etc/bash_completion: [[: not found sh: 51: /etc/bash_completion: Bad substitution 这里是我的.bashrc(对于用户部署者),我添加的唯一东西是顶部的rbenv位。 $ cat .bashrc # ~/.bashrc: executed by bash(1) for non-login […]