当我尝试执行以下 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。
高度赞赏可行的解决方案
参考本教程:https : //www.liquidweb.com/kb/how-to-install-and-configure-phpmyadmin-on-ubuntu-14-04/用于安装 PHP-Admin,安装包后,在“步骤2:基本配置”部分问题需要用户填写。
是否可以从命令行完全通过 Shell 脚本完成这些配置?
我在位置开发了以下脚本 /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 服务器。唯一的问题是脚本不会被发送到后台或不会作为守护程序启动。我想知道如何在启动时在后台或作为守护程序运行脚本。
在linux中如何获取星期几的第一天的日期。
我知道 date +"%u" 给出了当前的星期几,由此如何获得该星期的星期一的日期
我想每 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) 如何在不创建文件的情况下执行 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'
哪个不起作用。有任何想法吗?
请建议 - 我的语法有什么问题?(不应该打印“坏界面”)
备注 - 我使用 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) 我在 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) 我有一个大小为 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) 我正在尝试设置一些规则来阻止 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) shell-scripting ×10
bash ×5
linux ×4
shell ×2
amazon-ebs ×1
amazon-ec2 ×1
cron ×1
freebsd ×1
iptables ×1
perl ×1
powershell ×1
rc.d ×1
sh ×1
ubuntu ×1
ubuntu-14.04 ×1
windows ×1