我最近一直在使用getopts而且我已经把所有东西都搞定了.我有一个问题.我希望它工作,以便如果有人没有在命令行上输入参数,他们会得到帮助文本,例如:
$ ./script
$ help: xyz - argument must be used.
Run Code Online (Sandbox Code Playgroud)
这就是我现在所拥有的.
#!/bin/bash
function helptext {
# ...
}
function mitlicense {
# ...
}
while getopts "hl" opt; do
case $opt in
h) helptext >&2
exit 1
;;
l) mitlicense >&2
exit 0
;;
\?) echo "Invalid option: -$OPTARG" >&2
exit 1
;;
:) echo "Option -$OPTARG requires an argument." >&2
exit 1
;;
*) helptext >&2
exit 1
;;
esac
done
Run Code Online (Sandbox Code Playgroud) 我知道XML的默认编码是UTF-8.所有XML消费者都必须等等.因此,这不仅仅是XML是否具有默认编码的问题.
我也知道文档开头的XML-Declarataion<?xml version="1.0" ... ?>是可选的.并且指定其中的编码也是可选的.
所以我问自己,以下两个XML声明是否是完全相同的两个表达式:
<?xml version="1.0"?>
<?xml version="1.0" encoding="UTF-8"?>
Run Code Online (Sandbox Code Playgroud)
根据我自己目前的理解,我会说这些是等价的,但我不知道.是否已在某处指定了这两个声明的等效性?
(考虑这两个示例行,每个行都是XML文档的第一行,前面是任意(零)字节,并且是UTF-8编码的)
我有以下信息的文件
testing
testing
testing
Run Code Online (Sandbox Code Playgroud)
我想使用sed或任何linux命令在第一个测试单词之前插入一个单词(已测试)
需要输出像
tested
testing
testing
testing
Run Code Online (Sandbox Code Playgroud)
谢谢
我使用的是Windows Server 2012 R2(64位).我有powershell版本4可用.我正在尝试压缩和解压缩文件.当我尝试Write-Zip命令时,它会抛出以下错误:
Write-Zip:术语"Write-Zip"不被识别为cmdlet,函数,脚本文件或可操作程序的名称.检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试.
我该怎么做才能解决这个问题?我是否需要在服务器中安装zip/winrar?或者是否有其他命令执行zip/unzip文件?
为了自动运行和调试node.js应用程序,需要从脚本中打开调试URL; 例如.:
chromium "chrome-devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:9230/9229"&
如果我复制粘贴,铬中的URL工作正常.但正如我所说,这一步骤需要自动化.
如何chrome-devtools://devtools/bundled/inspector.html从脚本或命令行(Linux)中打开chrome/google-chrome 中的表单URL ?
当我想从用户那里获取一些信息时,我使用这个:
Get-ADUser -Filter {EmailAddress -eq 'jperez@dominio.com'}
Run Code Online (Sandbox Code Playgroud)
但是当我想检查大量用户的信息时,我尝试这样做:
$batch| foreach {Get-ADUser -Filter {emailaddress -eq $_.email}}
Run Code Online (Sandbox Code Playgroud)
email 是 CSV 文件中变量的名称,但我收到此错误:
“获取 ADUser:属性:在类型为“System.Management.Automation.PSCustomObject”的对象中找不到“电子邮件””
我无法使用该身份,因为该身份不支持 te emailaddresses
Windows 快捷方式的简单愿望:我想在特定目录中打开 PowerShell 窗口,然后让快捷方式输入并运行命令。
这是编辑快捷方式的“目标”时的样子:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noexit -command "cd 'C:\eARKIV\Programmer\Android ADB'" -Command 'test'
Run Code Online (Sandbox Code Playgroud)
目录更改有效,但在尝试通过快捷方式输入输入时出现以下错误:
"Set-Location : A parameter cannot be found that matches parameter name 'Command'."
Run Code Online (Sandbox Code Playgroud)
我怎样才能规避这一点并让它发挥作用?:(
正如标题所说,如果我尝试添加-persist到 cmdlt,它会返回一个错误:
New-PSDrive : The network resource type is not correct
At line:1 char:1
+ New-PSDrive -Name P -Root <redacted> ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (P:PSDriveInfo) [New-PSDrive], Win32Exception
+ FullyQualifiedErrorId : CouldNotMapNetworkDrive,Microsoft.PowerShell.Commands.NewPSDriveCommand
作为参考,这是 PowerShell 中的管理员会话,但如果我在常规用户会话中执行此操作,我会得到完全相同的响应:
PS> $PSVersionTable.psversion
Major Minor Build Revision
----- ----- ----- --------
5 1 16299 666
Run Code Online (Sandbox Code Playgroud)
从一开始:我验证我要使用的驱动器号是否可用(在本例中为 P)
PS> get-psdrive
Name Used (GB) Free (GB) Provider Root CurrentLocation
---- --------- --------- -------- ---- ---------------
Alias Alias
C 36.80 22.11 FileSystem C:\ windows\system32
Cert …Run Code Online (Sandbox Code Playgroud) powershell windows-scripting drive-mapping powershell-v5.1 new-psdrive
我正在创建一个脚本,并且想要同时使用 Write-Host 和 Write-Output 在工作时,我想要将从 AD 提取的信息的备份也附加到 .txt 文件中。这更多的是一种备份,以防我错过一条信息并需要返回并重新创建票证。无论如何,我有一个脚本样本,据我所知它应该可以工作。如果有更多经验的人可以看看或给我指出正确的方向,我将不胜感激。如果我需要添加更多脚本,我可以提供它。提前致谢。
Import-Module activedirectory
$object = Get-ADUser $sid -Properties * | Select-Object EmailAddress
Write-Host Email: $object.EmailAddress
Write-Output ("Email: $object.EmailAddress") >> C:\psoutput\psoutput.txt -Append
Run Code Online (Sandbox Code Playgroud)
这当然会创建 .txt 文件,但还会添加其他信息,例如:
Import-Module activedirectory
$object = Get-ADUser $sid -Properties * | Select-Object EmailAddress
Write-Host Email: $object.EmailAddress
Write-Output ("Email: $object.EmailAddress") >> C:\psoutput\psoutput.txt -Append
Run Code Online (Sandbox Code Playgroud)
我希望得到如下所示的输出......
Email: @{GivenName=myfirstname; Surname=mylastname; SamAccountName=myid; DisplayName=lastname, firstname - Contingent Worker; City=; EmailAddress=myemailaddress@mywork.com; EmployeeID=; Enabled=True; OfficePhone=; MobilePhone=(555) 555-5555; LockedOut=False; LockOutTime=0; AccountExpirationDate=05/09/2020 00:00:00; PasswordExpired=False; PasswordLastSet=12/03/2019 12:16:37}.EmailAddress
-Append
Run Code Online (Sandbox Code Playgroud)
来自 Active Directory …
我知道我可以在脚本或函数中覆盖从更高范围继承的 StrictMode 设置。但是我如何在脚本或函数中找出继承的设置是什么?
powershell ×6
linux ×3
awk ×1
bash ×1
chromium ×1
filter ×1
new-psdrive ×1
node.js ×1
sed ×1
strict ×1
unzip ×1
utf-8 ×1
windows-10 ×1
xml ×1
zip ×1