我有一个正在寻找邮箱path的shell脚本 result=`find /var/mailboxes -type d -name [email protected]` perl -pi -e 's/Folder-to-Remove//g' $result/subscriptions 但通过Dovecot Sieve执行它我得到一个错误消息: lmtp:错误:find:`/ var / mailboxes / 63':权限被拒绝 /var/mailboxes/63甚至不被[email protected] Shell脚本有权由其他人执行。
我有这些curl命令 1。 curl -XPUT "http://192.168.1.1:8080/locate" -d' { "crap": { "crazy": 1 }, "asap": { "peg": { "properties": { "url": { "type": "string", "index": "no" } } } } }' 2。 curl -XPOST "http://192.168.1.1:8080/locate" -d' { "url": "https://cdn.happyworld.com/lmfao" }' 我如何在one line curl命令中编写它们中的每一个,以便我可以轻松地将每一行放在bash脚本的一行中? 如果一行是不可能的,那么我怎样才能把它们格式化,让bash能够理解为一个命令呢? 谢谢!!!
主题 – 在solaris上安装expect来编写expect脚本 我的机器的详细信息: uname -a SunOS 5.10 Generic_139555-08 sun4v sparc SUNW,Netra-T5220 我安装了Solaris机器(Solaris 10),然后成功安装了以下软件包,以便在Solaris机器上构build期望的基础架构 但是在安装软件包之后,我得到以下错误 请build议需要什么来运行预期? 1) /usr/local/bin/expect -version /usr/local/bin/expect: cannot execute 2) expect expect: not found 示例如何安装Solaris(从站点http://jibbysununix.blogspot.com/2010/01/automating-sftp-with-expect-script.html ) (我从sun免费下载x86packages)。 tcl-8.5.3-sol10-x86-本地libgcc-3.4.6-sol10-x86-本地expect-5.43.0-sol10-x86-local 1)pkgadd -d tcl-8.5.3-sol10-x86-local 2)pkgadd -d libgcc-3.4.6-sol10-x86-local 3)pkgadd -d expect-5.43.0-sol10-x86-local
主题 – 在solaris上打印文件date,格式为:yymmdd(yy – year,mm – month,dd – day) 在Linux机器上,input以下命令以获得:file date 如下所示: ls -l –time-style=+%Y%m%d /etc/hosts | awk '{print $6}' 20121107 。 请咨询一下Solaris的语法? ,因为当我尝试在Solaris上运行时遇到错误: 。 ls -l –time-style=+%Y%m%d /etc/hosts ls: illegal option — time-style=+%Y%m%d
我正在使用redhat 6我有以下shell命令,我需要从Web服务器(Apache – >通过PHP),基本上移动和覆盖文件,杀死一个进程,并开始另一个。 显然,由于某些原因,所有的操作都被拒绝,所以我想知道是否有任何方法来执行它们(例如,什么权限和我应该如何给予Apache) echo shell_exec('mv -f /etc/resolv.test /etc/resolv.conf'); echo shell_exec('killall horas'); echo shell_exec('/xg/eng/sbin/startme &> /dev/null &'); 错误日志是mv:无法将/etc/resolv.test' to移动/etc/resolv.test' to /etc/resolv.conf中:Permission denied horas(2105):Operation not permitted horas:no process killed
我有趣的问题是,在运行一些rc.d脚本时,他们实际上并没有退回到root shell,而是把它留在一个中间shell中,就像他们应该运行的用户一样。 副作用是所需的服务实际上并没有启动,直到我exit这个内壳。 见下文: [root@zeb2 /usr/local/etc/rc.d]# ./mysql-server start Starting mysql. [mysql@zeb2 /usr/local/etc/rc.d]$ ps ax |grep mysql 3352 0 S 0:00.01 /bin/sh ./mysql-server start 3357 0 S 0:00.01 su -m mysql -c sh -c "/usr/sbin/daemon -c -f /usr/local/bin/mysqld_safe –defaults-extra-file=/var/db/mysq 3358 0 S 0:00.01 _su -m -c sh -c "/usr/sbin/daemon -c -f /usr/local/bin/mysqld_safe –defaults-extra-file=/var/db/mysql/my. 3364 0 R+ […]
是否有可能从远程机器获得标准输出 – 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
请指教 我有Linux和solaris机器,而且我需要在两个操作系统上工作的命令 我使用下面的perl行来删除所有以“#”开头的行,为什么perl命令不工作, 备注 – 还需要支持以空格或TAB开头的行,然后是“#” perl -i -pe 'next if /^ *#/' file 。 more file # aa a # bbb #xxx
我有一个Apache Web服务器与各种虚拟主机。 每个虚拟主机使用cronologloggingdate标记的文件。 结果是,我得到了很多这样的文件: —-rw-r– 1 root root 467894 2013-02-01 13:43 2013-02-01-tracg.dev.local-access.log —-rw-r– 1 root root 222 2013-02-01 01:09 2013-02-01-tracg.dev.local-error.log —-rw-r– 1 root root 222 2013-02-02 01:10 2013-02-02-tracg.dev.local-error.log —-rw-r– 1 root root 333 2013-02-03 06:47 2013-02-03-tracg.dev.local-error.log -rw-r–r– 1 root root 39574 2013-02-04 14:20 2013-02-04-tracg.dev.local-access.log —-rw-r– 1 root root 444 2013-02-04 08:24 2013-02-04-tracg.dev.local-error.log —-rw-r– 1 root […]
为了解决一些ftp连接错误,我被指示编写一个bash脚本,它将无限连接到一个远程frp服务器并从那里获得一个文件。 ftpuser="ftpuser" ftppasswd="ftppasswd" ftpsrv="download.akamai.com" log="/var/log/test_ftp_akamai.log" function print_log { echo $(date +'%d-%m-%y %H:%M:%S') $* >> $log } while true do print_log "—–===== Start =====——" | tee -a $log /usr/bin/wget ftp://$ftpuser:$ftppasswd@$ftpsrv | tee -a $log sleep 2 | tee -a $log print_log "—–===== Done =====——" | tee -a $log done 该脚本正常工作,但打印到屏幕上的wget行的输出也应该被logging到日志中,但由于某种原因,只有它不被写入日志。 例: [root@sjorigin1 ~]# tailf /var/log/test_ftp_akamai.log 25-02-15 […]