dotfiles/win/profile.ps1

83 lines
2.5 KiB
PowerShell
Raw Normal View History

2020-06-20 13:41:13 +00:00
# adminstration powershell:
2020-05-10 07:20:40 +00:00
# Set-ExecutionPolicy RemoteSigned
# new-item -ItemType SymbolicLink -Target "D:\Nextcloud\klesh\config\win\profile.ps1" -Path $profile
Set-PSReadLineOption -EditMode Emacs
2020-09-10 02:43:27 +00:00
Set-PSReadLineOption -PredictionSource History
2020-05-24 09:34:33 +00:00
$Env:Path += ";$PSScriptRoot\bin"
$Env:KUBE_EDITOR = 'nvim'
$Env:EDITOR = 'nvim'
2020-07-27 02:41:32 +00:00
Set-Alias -Name k kubectl
$isPs7 = $host.Version.Major -ge 7
if ( $isPs7 ) {
Set-Prompt
}
2020-07-27 02:41:32 +00:00
function kcc { k config get-contexts $args }
function kcu { k config use-context $args}
function kgd { k get deployment $args}
function ked { k edit deployment $args}
2020-08-17 02:28:27 +00:00
function kgp { k get pod -o 'custom-columns=NAME:.metadata.name,IMG:.spec.containers[*].image,STATUS:.status.phase' $args}
2020-07-27 02:41:32 +00:00
function kl { k logs -f --all-containers $args}
2020-08-17 02:28:27 +00:00
function issh { ssh -o "StrictHostKeyChecking=no" -o "UserKnownHostsFile=/dev/null" $args }
2020-08-23 03:08:19 +00:00
function rf { ri -Recurse -Force $args }
2020-07-27 02:41:32 +00:00
2020-05-10 07:20:40 +00:00
2020-05-24 09:34:33 +00:00
function dp {
[CmdletBinding()]
param (
[Parameter(Mandatory=$true,ValueFromRemainingArguments)]
[String[]]
$words
)
$word = $words | Join-String -Separator ' '
2020-05-10 07:20:40 +00:00
Add-Type -AssemblyName presentationCore
$tmpPath = Join-Path -Path $env:Temp -ChildPath 'sound.mp3'
Invoke-WebRequest -Uri "http://dict.youdao.com/dictvoice?audio=$Word&type=1" -OutFile $tmpPath
$mediaPlayer = New-Object system.windows.media.mediaplayer
$mediaPlayer.Open($tmpPath)
$mediaPlayer.Play()
Start-Sleep -Seconds 2
$mediaPlayer.Close()
}
2020-05-24 09:34:33 +00:00
function d {
[CmdletBinding()]
param (
[Parameter(Mandatory=$true,ValueFromRemainingArguments)]
[String[]]
$words
)
$word = $words | Join-String -Separator ' '
$res = Invoke-WebRequest -Uri "https://cn.bing.com/dict/search" -Method GET -Body @{q=$word}
if ($res.Content -match '<meta name="description" content="(.+?)" />') {
$explain = $Matches[1] -replace '必应词典为您提供.+的释义,(.+)','$1'
$explain = $explain -replace ' 网络释义',"`r`n网络释义"
$explain = $explain -replace '',"`r`n"
Write-Host $explain
} else {
throw 'meta description not found'
}
}
function vsbuild {
Import-Module "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\Microsoft.VisualStudio.DevShell.dll"
Enter-VsDevShell 56e7bf1c
2020-06-20 04:38:36 +00:00
}
function ssh-copy-id {
[Cmdletbinding()]
param (
[Parameter()]
[String]
$IdentityFile="~/.ssh/id_rsa.pub",
[Parameter(Mandatory=$true, Position=0)]
[String]
$UserHost
)
Get-Content $IdentityFile | ssh $UserHost "umask 077; mkdir -p .ssh ; cat >> .ssh/authorized_keys"
}