반응형
bash는 함수의 정의를 표시할 수 있습니까?
bash 함수의 정의를 bash로 표시하는 방법이 있습니까?
예를 들어 함수를 정의했다고 가정해 보겠습니다.foobar
function foobar {
echo "I'm foobar"
}
나중에 그 코드를 얻을 수 있는 방법은 없을까?foobar
실행 중입니까?
$ # non-working pseudocode
$ echo $foobar
echo "I'm foobar"
사용하다type
.한다면foobar
정의되어 있는가?~/.profile
:
$ type foobar
foobar is a function
foobar {
echo "I'm foobar"
}
이것으로 알 수 있습니다.foobar
이 함수로 정의되어 있는 경우 호출됩니다.declare -f
pmohandras가 설명했듯이.
함수의 본문(즉, 코드)만 인쇄하려면sed
:
type foobar | sed '1,3d;$d'
선언을 사용하여 bash에서 함수의 정의를 표시할 수 있습니다.예를 들어 다음과 같습니다.
declare -f foobar
set | sed -n '/^foobar ()/,/^}/p'
기본적으로 set 명령에서 foobar()로 시작하여 }로 끝나는 행을 출력합니다.
set | grep -A999 '^foobar ()' | grep -m1 -B999 '^}'
foobar가 함수 이름입니다.
언급URL : https://stackoverflow.com/questions/6916856/can-bash-show-a-functions-definition
반응형
'programing' 카테고리의 다른 글
Get-ChildItem 재귀 깊이 제한 (0) | 2023.04.12 |
---|---|
bash에서 $@에서 첫 번째 요소 제거 (0) | 2023.04.12 |
WPF의 Windows 7 테마 (0) | 2023.04.12 |
Postgresql에서 두 열의 조합에 대해 고유한 강제 적용 (0) | 2023.04.12 |
Git의 리모트 브랜치 추적을 중지하려면 어떻게 해야 합니까? (0) | 2023.04.12 |