标签: shell-scripting

电源外壳错误:无法绑定参数

当我尝试执行以下 PowerShell 命令时,出现错误。

命令 :

*PS 证书:\currentuser\authroot> gci | where 主题-like “ UTN ”*

错误如下:

Where-Object : 无法绑定参数“FilterScript”。无法将“System.String”类型的“subject”值转换为“System.Management.Automation.ScriptBlock”类型。在行:1 字符:12 + gci | 其中 <<<< 主题 -类似“ UTN ”+ CategoryInfo : InvalidArgument: (:) [Where-Object], ParameterBindingException +fullyQualifiedErrorId :CannotConvertArgumentNoMessage,Microsoft.PowerShell.Commands.WhereObjectCommand

我正在使用 Windows PowerShell ISE。
高度赞赏可行的解决方案

windows powershell shell-scripting

3
推荐指数
1
解决办法
2万
查看次数

完全通过shell脚本安装和配置phpmyadmin

参考本教程:https : //www.liquidweb.com/kb/how-to-install-and-configure-phpmyadmin-on-ubuntu-14-04/用于安装 PHP-Admin,安装包后,在“步骤2:基本配置”部分问题需要用户填写。

是否可以从命令行完全通过 Shell 脚本完成这些配置?

linux shell-scripting

3
推荐指数
1
解决办法
3720
查看次数

FreeBSD rc.d 脚本没有作为守护进程启动

我在位置开发了以下脚本 /usr/local/etc/rc.d/bluesky

#!/bin/sh

# PROVIDE: bluesky
# REQUIRE: mysql sshd
# BEFORE:  
# KEYWORD: 

. /etc/rc.subr

name="bluesky"
rcvar=bluesky_enable

start_cmd="${name}_start"
stop_cmd=":"

load_rc_config $name
: ${bluesky_enable:=no}
: ${bluesky_msg="HTTP server starts ..."}

bluesky_start(){
    echo $PATH
    export PATH=$PATH:/usr/local/bin/
    echo $PATH

    ### Run Node server ###
    /usr/local/bin/node /usr/home/ict/Documents/bluesky/server.js
    echo "$bluesky_msg"
}

run_rc_command "$1"
Run Code Online (Sandbox Code Playgroud)

我也在我的/etc/rc.conf文件中启用了它:

bluesky_enable="YES"
Run Code Online (Sandbox Code Playgroud)

当我重新启动服务器时,脚本工作正常并在端口 80 上启动 HTTP 服务器。唯一的问题是脚本不会被发送到后台或不会作为守护程序启动。我想知道如何在启动时在后台或作为守护程序运行脚本。

freebsd rc.d shell-scripting

3
推荐指数
1
解决办法
2468
查看次数

linux中的日期计算

在linux中如何获取星期几的第一天的日期。

我知道 date +"%u" 给出了当前的星期几,由此如何获得该星期的星期一的日期

linux shell-scripting

2
推荐指数
1
解决办法
1938
查看次数

bash + 在 bash 中每 10 分钟打印一次

我想每 10 分钟通过 echo 打印以下“仍在进行中,再等 10 分钟”

请建议在 echo 命令之前需要添加什么条件才能每 10 分钟打印一次此行?

备注 - 计数器每个周期(1 秒)增加一,我不想在这个脚本中添加额外的延迟(睡眠命令)!!!!!!

 Until   [    ]
 do
 Counter=1

 sleep 1

  let counter=$counter+1

  [ .... ] &&  echo " still in process wait another 10 min …."

 done 
Run Code Online (Sandbox Code Playgroud)

linux bash perl shell-scripting

2
推荐指数
1
解决办法
4751
查看次数

如何在不创建文件的情况下执行 shell 脚本

如何在不创建文件的情况下执行 shell 脚本?例如,假设我有以下脚本 ( testscript):

#!/bin/bash
function run_free() {
   free -m
}

run_free
Run Code Online (Sandbox Code Playgroud)

然后我当然可以执行此操作: sh testscript

不过,我想避免创建文件。我试过:

sh echo '#!/bin/bash function run_free() { free -m } run_free'

哪个不起作用。有任何想法吗?

shell bash sh shell-scripting

2
推荐指数
1
解决办法
3518
查看次数

bash + 如何匹配包含字符和数字的字符串

请建议 - 我的语法有什么问题?(不应该打印“坏界面”)

备注 - 我使用 bash shell

ETH_NAME=eth0         ( or any other as eth1 or eth2 .... )
echo $ETH_NAME

eth0 



[ $ETH_NAME  != eth[0-9] ] && echo bad interface
Run Code Online (Sandbox Code Playgroud)

bash shell-scripting

2
推荐指数
1
解决办法
262
查看次数

命令不会在 crontab 中执行,而命令本身工作正常

我在 Github 上有来自 Colin Johnson 的这个脚本 - https://github.com/colinbjohnson/aws-missing-tools/tree/master/ec2-automate-backup

看起来很棒。我已将其修改为在每次创建或删除 EBS 快照时向自己发送电子邮件。以下工作就像一个魅力

ec2-automate-backup.sh -v "vol-myvolumeid" -k 3

但是,它根本不作为我的 crontab 的一部分执行(我没有收到任何电子邮件)

#一些被注释掉的命令

*/5 * * * * ec2-automate-backup.sh -v "vol-fb2fbcdf" -k 3;

* * * * * 日期>> /root/logs/crontab.log;

*/5 * * * * 日期 >> /root/logs/crontab2.log

请注意,第二个和第三个执行得很好,因为我可以在日志文件中看到日期和时间。

我在这里错过了什么?

完整的 ec2-automate-backup.sh 如下:

#!/bin/bash -
# Author: Colin Johnson / colin@cloudavail.com
# Date: 2012-09-24
# Version 0.1
# License Type: GNU GENERAL PUBLIC LICENSE, Version 3
#
#confirms that executables required for succesful …
Run Code Online (Sandbox Code Playgroud)

bash cron amazon-ec2 amazon-ebs shell-scripting

2
推荐指数
1
解决办法
1万
查看次数

用于从日志文件中删除 6 个月前的日志的 shell 脚本

我有一个大小为 6.2 GB 的日志文件,它正在被进程使用,并且它不断地将日志写入这个文件。现在我不想轮换日志,但是我想清理这个日志文件。我想从这个文件中删除超过 6 个月的日志。是否可以使用 shell 脚本读取日志文件并删除超过 6 个月的日志?

下面是日志格式

10.0.3.xx - - [17/Jun/2016:14:21:59 +0000] "GET /visible_topics HTTP/1.1" 200 581 "-" "help/97a1dd7eb981421b9719adde381560a78bed0b66 (ip-10-0-3-xxx; user1; 4411) ruby/2.3.0 (0; x86_64-linux)" 
Run Code Online (Sandbox Code Playgroud)

linux ubuntu shell shell-scripting ubuntu-14.04

2
推荐指数
1
解决办法
754
查看次数

设置iptables规则后无法访问实例

我正在尝试设置一些规则来阻止 TCP(SSH 和 FTP)上除 21 和 22 之外的所有端口。但是当我尝试运行这个脚本时,我被锁定在我的实例之外并且无法访问它。这是脚本:

# Flush the FW Rules 
iptables -F
iptables -X

# Block all traffic
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

# Allow SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT

# Allow FTP
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 21 -j ACCEPT

# Allow ICMP (ping)
iptables …
Run Code Online (Sandbox Code Playgroud)

bash iptables shell-scripting

2
推荐指数
1
解决办法
161
查看次数