草庐IT

Scripting

全部标签

linux - 测试 systemd 单元是否在 bash 脚本中处于事件状态

我正在编写脚本以在CentOs7发行版上自动安装绑定(bind)服务器。我坚持使用systemctlstatus,因为它不会产生错误代码(这是正确的,因为状态不是错误)我可以使用。我想要的是检查服务是否启动(事件)。执行此操作的最佳和有效方法是什么? 最佳答案 检查服务是否处于事件状态的最佳方法是使用systemctlis-active命令:#systemctlstartsshd#systemctlis-activesshd>/dev/null2>&1&&echoYES||echoNOYES#systemctlstopsshd#sy

linux - bash "&"不打印 "[1]+ Done "

我在我的.bashrc中调用一个脚本来打印我打开终端时收到的新消息的数量,我希望调用在访问网络时是非阻塞的,有时需要几秒钟,这意味着我不能使用终端直到它完成。但是如果我把:mailcheck&在我的bashrc中,它工作正常。但随后打印出一个空行,当我按下enter并打印出[1]+Done~/bin/mailcheck这太乱了,有办法解决吗? 最佳答案 该消息不是来自mailcheck,而是来自bash的作业控制,告诉您有关后台作业的信息。避免它的方法是告诉bash你不希望它由作业控制管理:mailcheck&disown$!

linux - bash "&"不打印 "[1]+ Done "

我在我的.bashrc中调用一个脚本来打印我打开终端时收到的新消息的数量,我希望调用在访问网络时是非阻塞的,有时需要几秒钟,这意味着我不能使用终端直到它完成。但是如果我把:mailcheck&在我的bashrc中,它工作正常。但随后打印出一个空行,当我按下enter并打印出[1]+Done~/bin/mailcheck这太乱了,有办法解决吗? 最佳答案 该消息不是来自mailcheck,而是来自bash的作业控制,告诉您有关后台作业的信息。避免它的方法是告诉bash你不希望它由作业控制管理:mailcheck&disown$!

linux - 无法获取 rsync 排除选项以排除目录

rsync有问题。我将rsync用作美化的cp命令。我在脚本中有以下代码。rsync-aL--exclude/path/to/exclude/--exclude='.*'/source//destination我可以让rsync排除任何隐藏文件。因此'.*'我无法排除要排除的排除目录。我试过使用'='符号,用双引号和单引号将目录括起来。任何帮助将不胜感激。提前致谢。 最佳答案 实际上,Erik's都不是也不Antoni's答案完全准确。Erik说对了一半Astest/aisthebasedirectorysyncedfrom,the

linux - 无法获取 rsync 排除选项以排除目录

rsync有问题。我将rsync用作美化的cp命令。我在脚本中有以下代码。rsync-aL--exclude/path/to/exclude/--exclude='.*'/source//destination我可以让rsync排除任何隐藏文件。因此'.*'我无法排除要排除的排除目录。我试过使用'='符号,用双引号和单引号将目录括起来。任何帮助将不胜感激。提前致谢。 最佳答案 实际上,Erik's都不是也不Antoni's答案完全准确。Erik说对了一半Astest/aisthebasedirectorysyncedfrom,the

linux - 在 Ubuntu 中永久更改主机名

我想创建一个可以永久更改我的Ubuntu主机名的shell脚本。每当我使用hostnameNew_hostname命令时,它会在我重新启动机器后返回到原始主机名。我发现我可以永久更改它的唯一方法是修改/etc/hostname中的文件并保存它。有什么方法可以只使用shell脚本来做到这一点吗?我也有密码。 最佳答案 hostnamectl结合了通过hostname命令设置主机名和编辑/etc/hostname。不幸的是,编辑/etc/hosts仍然需要单独完成。hostnamectlset-hostname

linux - 在 Ubuntu 中永久更改主机名

我想创建一个可以永久更改我的Ubuntu主机名的shell脚本。每当我使用hostnameNew_hostname命令时,它会在我重新启动机器后返回到原始主机名。我发现我可以永久更改它的唯一方法是修改/etc/hostname中的文件并保存它。有什么方法可以只使用shell脚本来做到这一点吗?我也有密码。 最佳答案 hostnamectl结合了通过hostname命令设置主机名和编辑/etc/hostname。不幸的是,编辑/etc/hosts仍然需要单独完成。hostnamectlset-hostname

linux - 我想使用 "awk"或 sed 打印文件中所有以 "comm="开头的行

我想用“awk”或“sed”打印文件filex中所有以comm=开头的行,注意每一行都包含“comm=某事”forexample:comm=rm,comm=ll,comm=ls....我怎样才能做到这一点? 最佳答案 对于以comm=开头的行sed-n'/^comm=/p'filexawk'/^comm=/'filex如果comm=在行中的任意位置,则sed-n'/comm=/p'filexawk'/comm=/'filex 关于linux-我想使用"awk"或sed打印文件中所有以"c

linux - 我想使用 "awk"或 sed 打印文件中所有以 "comm="开头的行

我想用“awk”或“sed”打印文件filex中所有以comm=开头的行,注意每一行都包含“comm=某事”forexample:comm=rm,comm=ll,comm=ls....我怎样才能做到这一点? 最佳答案 对于以comm=开头的行sed-n'/^comm=/p'filexawk'/^comm=/'filex如果comm=在行中的任意位置,则sed-n'/comm=/p'filexawk'/comm=/'filex 关于linux-我想使用"awk"或sed打印文件中所有以"c

linux - 在 shell 脚本中查找和替换

是否可以使用shell在文件中搜索然后替换值?当我安装服务时,我希望能够在配置文件中搜索变量,然后在该值中替换/插入我自己的设置。 最佳答案 当然,您可以使用sed或awk来完成此操作。示例:sed-i's/Andrew/James/g'/home/oleksandr/names.txt 关于linux-在shell脚本中查找和替换,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/