作为脚本的一部分,我试图从远程站点复制文件。 但有一个错误。 对我来说,听起来有点奇怪, #aaa="/path/to/some file with spaces(and brackets).txt" …. #scp [email protected]:"$aaa" /test/ bash: -c: line 0: syntax error near unexpected token `(' bash: -c: line 0: `scp -f /path/to/some file with spaces.txt' upd:括号中的问题…
我希望有人能帮我解决这个问题。 我一直在尝试这一段时间,有各种各样的变化,似乎无法得到这个工作。 我想脚本的方式login到https://login.three.ie/检查帐户余额从* / My_account_balance 我已经尝试了各种wget命令,但从我读的内容来看,curl更有可能完成这个任务。 我一直在尝试我在网上遇到的变化,包括从这里在stackoverflow,但似乎没有工作。 这是我尝试的最后一个: curl -X POST -c cookies.txt -u "Uern@me:P@ssw0rd" https://login.three.ie/ 这确实保存在这里的Cookie文件: $ cat cookies.txt Netscape HTTP Cookie File #http://curl.haxx.se/docs/http-cookies.html This file was generated by libcurl! Edit at your own risk. HttpOnly_login.three.ie FALSE / FALSE 1433988274 laravel_session eyJpdiI6IkFZWmxvZ2oyXC9NNGVIbHVpejZwRWp3PT0iLCJ2YWx1ZSI6Imxkd25UKzBoMldiQlhYZVJnVUpuNUVsblZ1cGJYZWcwM2E1bTtIWHRiQ2pwV0VwemJ4NFlYcDlzTndSeFRNanpwdDhMMTIrS2RGZGdGd0RNZU1yREJ3PT0iLCJtYWMiOiI0NWUwYzc1TY4ODI3ZmY3ODY5NjliODkxODMyODIzMjQwNmNkNjljNTE2NzQxNmQ4MzhhNDljNTdjM2QwZGY1In0%3D 但是,当我尝试重新使用cookie时,它看起来像有一个redirect或什么,因为这是我得到: $ curl -b cookies.txt https://my3account.three.ie/My_account_balance <html><head><title>302 Moved Temporarily</title></head> <body bgcolor="#FFFFFF"> <p>This […]
我使用的是Fedora 19和bash 4.2.53(1) – 释放 如果我把ssh连接打开了几分钟而不做任何事情,terminal就卡住了。 这里是netstat的输出: tcp 0 1440 xxxx:port xxxx:port ESTABLISHED 3596/ssh 所以似乎在一段时间之后,stream量只停留在发送队列中,并且从不离开。 任何想法为什么? 或者我应该检查什么系统工具/日志?
我有这个简单的脚本来改变我的apache2网站的权限 /var/www/html# cat permissions_setup.sh chown -R root $1 chgrp -R www-data $1 chmod -R 750 $1 chmod g+s $1 我在我的html/目录中有两个.sh shell脚本 /var/www/html# ll total 40 drwxr-xr-x 8 root root 4096 Jul 5 16:45 ./ drwxr-xr-x 4 root root 4096 Jun 13 18:37 ../ drwxr-s— 5 root www-data 4096 Jun 6 18:17 foo.com/ drwxr-s— 5 root […]
我有一个Perl脚本,我需要在远程主机上执行一个简单的perl命令: ssh 192.168.1.1 "perl -pi.bup -e 's/^(\s+?kernel)(.*)(?<!audit=1)$/$1$2 audit=1/' /etc/grub.conf" 这只是简单地将“ audit=1 ”添加到/etc/grub.conf中每个内核行的末尾(如果它尚不存在)。 单线程在主机上直接运行时工作得很好,但不能通过另一个perl脚本中的ssh执行。 我试图用一个或多个反斜杠来逃避所有的美元符号,我也试图逃避“ \s ”中的反斜杠,但我似乎没有任何工作。 注意我不想将脚本复制到远程主机,然后执行它 – 我想直接使用ssh命令来执行它。 如何正确地逃避这一点,使其工作? – 2015年9月9日更新,以显示我在做的Perl脚本: sub SomeMethod { &RunCommand($host, "perl -pi.bup -e \'s/^(\s+?kernel)(.*)(?<!audit=1)\$/\$1\$2 audit=1/\' /etc/grub.conf"); } sub RunCommand { my ($server, $command) = @_; my $commandOutput = ""; if ($server ne "") { $command = "ssh $server \"$command\""; […]
我的.bashrc文件导出一个叫做lookup的函数: lookup() { grep -r -ne "$1" * | grep -v "TAGS:" | grep -v "tags:" } export -f lookup 我可以在shell中使用该函数。 但是如果我把它放在这样的脚本中: #!/bin/bash lookup "foo" 并运行该脚本,然后打击报告“找不到命令”进行lookup 。 这个曾经工作过一段时间。 我强烈怀疑这是停止工作后,我的系统上的bash安全更新(可能与shellshock / bashdoor有关?)我的bash版本是4.1.10(1)在openSUSE 11.4
我有一个git post-receive hook,它构build了一个Go程序并运行它。 问题是我得到了Go程序的所有输出,并且git push “永不结束”执行,在那里被阻塞。 我正在寻找一种方法来运行Go程序而不挂上push命令。 我的收到后的文件: #!/bin/bash while read oldrev newrev ref do branch=`echo $ref | cut -d/ -f3` if [ "production" == "$branch" -o "master" == "$branch" ]; then … go build exec ./webservice echo 'Pushed!' fi done
CloudFlare 关于debugging,testing和使用HTTP / 2的工具的博客文章提到了这种方法来找出给定服务器支持哪些协议: $ openssl s_client -connect www.cloudflare.com:443 -nextprotoneg '' CONNECTED(00000003) Protocols advertised by server: h2, spdy/3.1, http/1.1 这种方法似乎对我testing过的很多领域都很好。 然而,(HTTP / 2-enabled)域名benchmarkjs.com产生的输出看起来完全不同,我不知道为什么: $ openssl s_client -connect benchmarkjs.com:443 -nextprotoneg '' CONNECTED(00000003) depth=0 C = US, ST = Washington, L = Seattle, O = Odin, OU = Plesk, CN = Plesk, emailAddress = [email protected] verify error:num=18:self […]
我正在寻找一个命令/行来获取信息从Web服务器访问特定文件/path的频率。 (来源:nignx的默认访问日志) 它应该检查所有日志(当前和压缩的日志),并从特定文件/path的日志文件中返回一个或多个entrys。 原因:我想从他的死文件中清除旧的商业网站空间。 许多文件被用于多年前用于外部使用。 (如通讯,列表)。 其他似乎是重复的,只能用于老pipe理员的testing目的。 附加信息: 操作系统:Debian Jessie(x64) 服务器:nginx / 1.6.2 位置:/ var / logs / nginx / 压缩日志文件:gzip 文件: 2825674 | myDomainName_access.log 3895051 | myDomainName_access.log.1 106353 | myDomainName_access.log.2.gz 244729 | myDomainName_access.log.3.gz 143118 | myDomainName_access.log.4.gz 55763 | myDomainName_access.log.5.gz 示例INPUT 你必须进入你的domain.tld的根目录并input以下命令: (只是一个非常简单的例子) user@host:/var/www/domain.tld# filesInLogCheck /var/logs/nginx/domain-access.* subfolder/index.php OUTPUT xxxx – – [07/Mar/2016:10:13:29 +0100] "/subfolder/handle.php HTTP/1.1" […]
我有一套使用samba(和其他)共享驱动器的Linux机器。 有自动的脚本来挂载这些共享。 我的问题是,有时主机会脱机,但我找不到从客户端testing的好方法。 我正在为此检查mount命令输出,但是自离线以来的挂载仍然出现在输出中。 我的下一个尝试是尝试执行ls /media/mount 。 这将从共享中返回文件,或者以"ls: cannot access /media/mount: Host is down"错误信息"ls: cannot access /media/mount: Host is down" 。 除非ls很慢,或者有时候挂起,否则这样会很好。 我也试过df ,这个给了我所需要的信息,而不必parsing错误,但是它仍然很慢,我担心它也可能会挂起。 有没有一种方法来testing共享连接没有缓慢/挂起问题? 理想情况下,发布的命令不必错误地回答是否可以实际读写共享。