사용자 지정 파워셸 함수 목록을 가져오는 방법은?
저는 제 삶을 편하게 해주기 위해 맞춤형 파워쉘 기능을 사용합니다.
예:
# custom function
> function build {cmd /c build.ps1}
# invoke the function
> build
이것은 빌드 스크립트를 빠르게 실행할 수 있게 해줍니다.
안타깝게도 제가 만든 사용자 지정 기능을 모두 잊어버리기 쉽습니다.
사용자 지정 기능 목록을 덤프하기 위해 실행할 수 있는 cmdlet이 있습니까?그 다음에, 그 기능들이 무엇인지 알게 되면, 더 이상 필요하지 않은 기능들을 삭제하기 위해 실행할 수 있는 cmdlet이 있습니까?
사용 가능한 기능 목록을 가져오려면 다음과 같이 하십시오.
> Get-ChildItem function:\
파워셸 함수를 제거하려면 다음과 같이 하십시오.
# removes `someFunction`
> Remove-Item function:\someFunction
프로필에 추가:
$sysfunctions = gci function:
function myfunctions {gci function: | where {$sysfunctions -notcontains $_} }
제 기능은 세션이 시작된 이후 생성된 기능만 나열됩니다.
어떤 이유에서인지 전화를 걸었을 때 프로필에 나와 있는 사용자 지정 기능이 보이지 않아 답변이 마음에 들지 않았습니다.Get-ChildItem function:
제가 만든 것은 이렇습니다
Function Get-MyCommands {
Get-Content -Path $profile | Select-String -Pattern "^function.+" | ForEach-Object {
# Find function names that contains letters, numbers and dashes
[Regex]::Matches($_, "^function ([a-z0-9.-]+)","IgnoreCase").Groups[1].Value
} | Where-Object { $_ -ine "prompt" } | Sort-Object
}
당신을 위한 한가지 해결책은 당신의 모든 기능을 psm1 파일에 넣고 모듈을 만드는 것입니다.그렇게 하면 모듈을 가져올 수 있고 모든 명령을 멋진 모듈에 넣을 수 있습니다.
사용가능
dir function:
혹은 그것을 치우기 위해.
dir function: | where {$_.source -ne [string]::Empty} | sort source
아마 제가 좀 늦은 것 같습니다.하지만 다른 답변들을 병합해서 결과를 필터링할 수 있는 작은 루틴을 설정했습니다.Get-ChildItem function:
끈끈하게 논하며제가 이걸 쓰는 이유는 항상 제 프로필에 포함된 기능과 별칭을 잊어버리는 경향이 있기 때문입니다.누군가가 도움이 된다고 생각할 수도 있습니다.
function fsearch {
param([string[]] $str)
$allfs = Get-ChildItem function: | foreach { $_.Name }
echo "Functions"
echo "---------"
echo $allfs | where {$_ -match $str}
$allalias = Get-Alias | foreach { $_.Name }
echo ""
echo "Aliases"
echo "-------"
echo $allalias | where {$_ -match $str}
}
언급URL : https://stackoverflow.com/questions/15694338/how-to-get-a-list-of-custom-powershell-functions
'programing' 카테고리의 다른 글
아약스 이진 응답 (0) | 2023.09.17 |
---|---|
Spring Data JPA: 쿼리ManyToMany (0) | 2023.09.17 |
PHP MySQL(MariaDB) 쿼리 끊기 (0) | 2023.09.12 |
VBA를 사용한 Excel 사용자 양식의 프레임에 컨트롤 추가 (0) | 2023.09.12 |
파워쉘 앱.구성 (0) | 2023.09.12 |