Articles of bash

使用ssh-key gen指定位置和密码时遇到问题

这是我的代码: ssh-keygen -t rsa -C "$APP" 这完美的作品。 然后它会要求我指定位置和密码。 我希望我能一次自动化这一切,但是这个命令失败了: ssh-keygen -t rsa -C "$APP" -P "$SSHKEYPASS" -T ~/.ssh/id_rsa.pub 这个命令似乎失败,虽然,当我指定的密码我想要的密钥和位置在同一行。 我不太了解手册页: http://linux.die.net/man/1/ssh-keygen 谁能告诉我我哪里出了错?

无法通过SSH在远程屏幕会话中redirectSTDOUT

我想通过SSH /屏幕执行长时间运行的命令,并将输出redirect到一个文件。 我能够很好地运行命令(类似于这个问题 ),但输出永远不会显示出来。 这是我目前的命令: ssh user@host screen -dm "ping -c 20 -i 5 localhost > /tmp/ping.out" 在远程主机上,我可以看到会话: > screen -ls There is a screen on: 4530..com001 (Detached) 1 Socket in /var/run/screen/S-root. 并附上查看实时输出,如预期与ping命令终止完成: PING localhost (127.0.0.1) 56(84) bytes of data. 64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.060 ms 64 bytes from localhost (127.0.0.1): icmp_seq=2 […]

Linux`file`命令显示编码

如果file命令不是LF,则file命令返回file的编码+ EOL。 但是它返回ASCII和ANSI和UTF-8 without BOM 。 在UTF-8文件上,它返回UTF-8 Unicode (with BOM) 。 我做错了什么,或者这是默认行为? 如果这是默认的行为,我可以看到如果是没有BOM的ANSI或UTF-8?

从bash修改configuration文件设置

我需要从bash脚本修改configuration文件,更改特定设置的值。 我需要使用常用的Linux工具(sed / awk / tr / etc)进行更改。 configuration文件可以在不同的节中具有相同的命名键: [section1] key1=a key2=b [section2] key1=a key2=b 和每个节中的行可以是不同的顺序,空行/之间的意见等。我已经试过sed,但不能跨线匹配(所以我不能匹配节名称)。 有人可以build议如何:1.更改与section1 key1相关的值? 2.打印标准输出与section1 key1相关的值

在ldap创build上发送电子邮件

我在运行Debian 7的服务器上安装了LDAP服务器,我希望在该LDAP上创build新用户时发送电子邮件。 我认为cronjob会是最好的,但我不知道如何去寻找最近的创作。 邮件不必太复杂,只是沿着一些线 welcome, your username is: XXXX you are in group: YYYY 这将被发送到commonName @ domain.com 任何想法/起点如何去做呢?

从bash脚本设置bash别名(不是命令行)

与bash shell不同(用于创build新的别名): alias test="echo test" 如果我使用bash脚本做同样的事情,别名不会运行: #!/bin/bash alias test="echo test" 也出口它,同样的问题: alias test="echo test" ; export test 也许是正确的:真正的“testing”不是一个variables。 那么,如何把任何别名bash脚本,让他们在我的环境中可用?

检查www-data用户的历史logging

普通用户的主目录中有一个.bash_history ,而www-data用户没有主目录。 因此,有没有办法跟踪www-data用户的历史?

似乎无法在bash中创build文件

我试图在debian 7中使用这个(在root帐户下)代码。 #!/bin/bash cat > /root/.ssh/github.id_rsa << EOF —–BEGIN RSA PRIVATE KEY—– XYZ… —–END RSA PRIVATE KEY—– EOF chmod 600 /root/.ssh/github.id_rsa 当我导航到这个文件夹后,它告诉我,它不存在。 我已经检查和双重检查,但不能解决我做错了什么。 编辑:当我手动运行命令它似乎工作! 但我试图运行这个作为shell脚本的一部分。

命令在bash脚本执行过程中失败

我正在做一个bash脚本来自动化一些常见的任务,但我有一些问题,我需要一些帮助。 这是我正在谈论的脚本: #!/usr/bin/env bash PS3='Please enter your choice: ' options=("Prepare environment" "Create new group" "Add users to group" "Change directory ownership" "Change directory permissions" "Quit") select opt in "${options[@]}" do case $opt in "Prepare environment") read -e -p "Enter the work directory: " -i "/var/www/html/" directory cd directory echo "Updating BOWER…" npm -g update bower […]

问题与xinetd参数

我创build了这个BASH脚本叫blah,它做了一些简单的事情(见下文) #./blah -x "bindas" hello bindas 我想用dynamicvariables执行xinetd脚本,类似于下面的例子 #telnet localhost 809 "bindas" hello bindas. 我不打算用telnet,实际上其他一些应用程序将尝试与809端口上的此服务器进行通信。 我如何安排我的xinetd文件参数? 我发现server_args可以采取参数,但如何这样的事情,这将工作? # This file is being maintained by Puppet. # DO NOT EDIT service cont_blah { port = 809 disable = no socket_type = stream protocol = tcp wait = no user = root group = root groups = yes […]