我想知道如果迭代目录中的文件 for f in directory/* 会有一些处理条目(文件名,创builddate等)的默认顺序,还是不确定的? 这可能很明显,但我找不到这些信息。
我用ceph ceph-deploy工具在3个centos7节点上安装了ceph。 所有的作品都不错,但我没有任何脚本来pipe理ceph或radosgw。 我的/etc/init.d/文件夹只包含这些: functions , network , netconsole , rdbmap 。 没有其他的。 所以我不能运行这个scipt: sudo /etc/init.d/ceph-radosgw start 因为我没有它。 yum install ceph-radosgw表明我已经安装了它。 HEALTH_OK ceph -s显示HEALTH_OK 。 3个星期,3个星期。 我需要做什么来获得ceph init脚本?
我必须用Windows Server 2012创build虚拟机。现在我想通过OpenSSH和Bash连接到它,安装OpenSSH成功,但是当我通过ssh Administrator@<ip>连接到服务器时,我只能使用Windows Powershell 。 是否有可能安装bash(如git bash或cygwin)并通过ssh直接连接到这个shell?
是否有可能从远程机器获得标准输出 – 100或1,破坏脚本/tmp/script.bash之后? ssh $remote_machine /tmp/script.bash echo $? ( from remote machine script – not from ssh ! ) 在远程机器上 – more /tmp/script.badsh #!/bin/bash command [[ $? -eq 0 ]] && exit 100 || exit 1
我正在尝试克服我们环境中的一些限制,为无密码的ssh密钥写一个授权的SSH文件。 我需要执行ssh作为目标系统,然后运行“ sudo su – ,然后使用密钥更新服务帐户authorized_keys” 这最终必须上我的可靠的脚本。 我正在使用“ ssh -t user@target ” sudo su – service-user “ – 这实际上让我成为一个服务用户的shell,但我无法想出一个方法来传递文件修改命令以上。 任何提示或替代select? 注意:我需要使用“ ssh -t ”选项,因为目标系统上没有设置requiretty。 干杯!
我试图validation包含在.zip文件中的信任存储。 我已经能够validation它在我的工作站(其中有Ubuntu的OpenSSL 1.0.1f 6 Jan 2014 )。 openssl dgst -ecdsa-with-SHA1 -verify <(openssl x509 -sha1 -in signature-certificate.pem -noout -pubkey) -signature truststore.zip.dgst truststore.zip 如上所述,这工作在我的工作站,但是,在我的服务器上运行这个错误: Error opening signature file truststosre.zip.dgst 3069867216:error:02001002:system library:fopen:No such file or directory:bss_file.c:165:fopen('truststosre.zip.dgst','rb') 3069867216:error:2006D080:BIO routines:BIO_new_file:no such file:bss_file.c:168: 我应该提到,'服务器'具有OpenSSL 1.0.2 22 Jan 2015和14.3.30(1)-release /bin/bash版本 任何人都可以摆脱为什么我的服务器不validation相同的文件对?
我想要做的是运行相同的命令两次,而敲击input一次,用最less的打字。 这将是例如长版本: # sudo puppet agent -tv –server foo.bar && sudo puppet agent -tv –server foo.bar 我想过 # sudo puppet agent -tv –server foo.bar && !! ..但是这会运行前一个命令(如上一个完成的那样),而不是我刚input的命令。 那么如何“反引用”我的命令呢? 当然,这可以用for循环来完成,但是我猜测还有更多的方法可以做到这一点。 谢谢
我一直在尝试运行我的脚本,它被称为cservice ,我把它放在/etc/init.d/然后我给它的权限是可执行的 sudo chmod +x /etc/init.d/cservice 我可以运行它时,我叫它./cservice和完美运行,这个脚本正在调用一个PHP脚本#!/usr/bin/php /var/www/html/service.php它工作时,我手动运行,但是当我用这个命令启动它 然后我把它启动 sudo update-rc.d cservice defaults 我得到这个警告 insserv: warning: script 'cservice' missing LSB tags and overrides 那么当我testing它重新启动我的服务器我的Apache服务器不启动,我必须手动做这是怎么回事? 但是,当我删除它我的Apache服务器启动正常。 需要帮助,请在Ubuntu上我很新。 我怎样才能让我的脚本运行,而不会影响我的Apache服务器。
我现在在操作系统级别上正在做的事情是: 初始化后,切换到需要variables的用户并导出variables,然后指定在configuration文件中设置它们,或者在root用户的/ etc / environment(Debian)中设置它们来考虑持久性 我通过“echo >>”或“sed”直接或通过主configuration查找设置的目录来执行很多操作。 为了我: export MYVAR=foobar echo "export MYVAR=foobar" >> /home/bradchesney79/.profile 最上面的一个可以在执行时使环境variables可用,但是当你注销时它将不见了。 把这个命令放在你的.profile文件中,你将在login时为你创build它。 sed -is/export MYVAR=.*/export MYVAR=barfoo/g /home/bradchesney79/.profile 为你: sudo -u brianchesney80 export HISVAR=something sudo -u brianchesney80 echo "HISVAR=something" >> /home/brianchesney80/.profile 为了所有人: ((Not fully certain how to export globally just yet)) sudo echo "OURVAR=fffoooooobbbaaarrr" >> /etc/environment 我不喜欢重新启动。 但是,我没有看到任何方法来启用这里为每个人设置的环境variables。 那么,想要查看不同用户的环境variables? sudo -u […]
我写了一个小的bash脚本来爬取URL的XML站点地图。 它使用xargs并行检索5个URL。 现在我想要一个电子邮件发送到所有的url已被抓取,所以它必须等到xargs的所有subprocess已经完成,然后发送邮件。 我用xargs之后的一个pipe道尝试过: #!/bin/bash wget –quiet –no-cache -O- http://some.url/test.xml | egrep -o "http://some.url[^<]+" | xargs -P 5 -r -n 1 wget –spider | mail… 并wait #!/bin/bash wget –quiet –no-cache -O- http://some.url/test.xml | egrep -o "http://some.url[^<]+" | xargs -P 5 -r -n 1 wget –spider wait mail … 哪两个都不行,电子邮件在脚本执行后立即发送。 我怎样才能做到这一点? 不幸的是,我的服务器上没有parallel程序(托pipe托pipe)。