Articles of bash

如何在Unix上的bash脚本中获得完全限定名(FQN)?

我已经testing了几个服务器(RedHat,Ubuntu)上的hostname -f ,而且hostname -f已经被certificate是不可靠的,只返回短名(正如这个问题所描述的那样)。 我可以在别名中看到fqn: hostname -a (其中一个别名是我查找的fqn),但别名的顺序不固定。 有没有另一种方法来获得完全合格的名称可靠,并将其存储在一个bashvariables?

Bash:>和>>运算符之间的区别?

我是新手,不知道bash.my教练很多,我的教练让我做猫脚本和观察者的输出,然后告诉什么是>运算符和> >>运算符有什么区别? 我无法find任何理由。所以,任何帮助,请:)

直接的方式来运行ssh-agent和ssh-addlogin通过SSH?

我试图通过sshlogin到我的服务器时自动执行以下命令: ssh-agent /bin/bash ssh-add ~/.ssh/id_rsa 我的SSH密钥有一个密码,我很好,每logininput一次。 我试图把这个在我的.bashrc文件,但是我相信,ssh代理启动一个新的bash会话。 当我在.bashrc中尝试login后,它会卡住,我必须键入'exit',然后看到'input密码解锁'提示符 还有其他build议吗? 服务器运行Ubuntu LTS

redirectunix中的时间命令输出到bash中的variables?

我只想捕获一个时间命令的输出,即: X=$(time ls) 要么 $(time ls) | grep real 时间函数吐到控制台。 我如何做到这一点?

如何使“ls -l”的系统宽度别名?

我想拥有 alias ll="ls -l" 是系统范围的。 在Ubuntu上如何做?

shell脚本能等待文件改变并采取行动吗?

我想知道是否可以编写一个脚本来监视文件中的更改,并在检测到更改时执行某些操作。 详细说明: OpenVPN每1分钟将其状态写入一个文件。 我需要parsing这个状态文件并采取行动。 在写入之前,OpenVPN会截断状态文件。 我试图写入一个命名pipe道,但是当它无法截断pipe道时,我在应用程序中收到了不良的(但不是致命的)错误。

从shell脚本运行ssh-agent

我正在尝试创build一个shell脚本,其中包括启动ssh-agent并将私钥添加到代理。 例: #!/bin/bash # … ssh-agent $SHELL ssh-add /path/to/key # … 这个问题是ssh-agent显然开始了$ SHELL的另一个实例(在我的情况下是bash),并且从脚本的angular度来看,它执行了所有的事情,并且ssh-add从来没有运行过。 我怎样才能从我的shell脚本运行ssh-agent并保持它在命令列表上移动?

在shell脚本中使用su

我正在自动化一个部署过程,我希望能够在我的机器上调用一个.sh文件,让它执行我的构build,并将.zip上传到服务器,然后在服务器上做一堆东西。 我需要做的事情之一就是要成为根。 所以,我想要做的是这样的: ssh [email protected] <<END_SCRIPT su – #password… somehow… #stop jboss service server_instance stop #a bunch of stuff here #all done! exit END_SCRIPT 这甚至有可能吗?

键盘快捷键来存储input的命令并清理线

你知道情况:你input一个长命令(例如一个提交消息)的一半,并意识到你已经忘记执行一些不能用&&添加的先决条件命令。 通常,当发生这种情况时,我select我用鼠标键入的内容,将其复制到剪贴板,按Ctrl-U清除行,运行我的必备命令并粘贴到剪贴板。 但也许有更好的方法,最好不需要使用鼠标? 我正在寻找bash和/或zsh的解决scheme。

通过bash脚本编辑文件

我是bash脚本的初学者。我想创build一个bash脚本来自动安装我的linux系统上的安装和configuration文件。 假设我想编辑 /etc/yum.repos.d/epel.repo 由bash脚本 我想要做的是如下 打开文件/etc/yum.repos.d/epel.repo find[epel]部分 在epel部分中,在行enabled = 1之后添加一行priority = 10 对于我添加的第一部分 yum install nano nano /etc/yum.repos.d/epel.repo 我的问题是如何使用nano做bash脚本的第二和第三部分(如果可能的话,如果不可能,然后用sed显示我) 还有一些地方,我将不得不修改文件中的variables例如 启用= 0启用= 1 testing=“1”到testing=“0” 在一行中添加文本。 functions = to function =“text1”,“text2” 添加一些文本到一个文件并保存(与纳米) 我知道它的要求很高,但是我需要为服务器pipe理的小老头们创build这个。不幸的是,我没有时间从开始时就开始学习bash脚本,因为我的考试近了。我会用你的例子来写脚本。 伙计们感谢所有答复,我已经成功完成了大部分的bash脚本 但是我有另一个问题让我们假设我想修改nginx.conf使用sed我们将处理worker_processes 现在我想使用sed来完成以下工作1. worker_processes conf中worker_processes的第一次出现 ,并用worker_processes 4;replace文本worker_processes 4; 特别提示:这只是一个例子。 可能会发生conf包含worker_processes 1; 。 这是很难的部分。 我想要一个sed命令,它查找单词worker_processes的第一个wHOLE匹配大小写 ,删除find该单词的文本行,并粘贴worker_processes 4; 然后保存文件。 这是我编辑文件时最可靠的方法(没有任何破坏任何conf的风险 最后一个build议我使用sed -i's / enabled = […]