터미널 을 닫지 않고 명령 프롬프트에서 정의한 모든 변수를 지우는 방법을 알고 싶습니다 .
예를 들어 명령 프롬프트에서 변수를 다음과 같이 설정하면
$ a=1
이제 $a
터미널을 닫지 않고 변수 (및 유사한 방식으로 정의 된 많은 다른 변수) 를 삭제하고 싶습니다 . 나는 사용할 수 unset
있지만 큰 아니오가 있으면 열심 할 것입니다. 변수
왜 그렇게 하시겠습니까?
—
Hauke Laging
@HaukeLaging 스크립트를 사용하여 배열로 작업하고 있습니다. 때때로 하나의 요소를 추가합니다. 때문에 이전 값으로 스크립트를 실행할 수 없습니다 (배열이 변경되었으므로). 터미널을 닫고 새 세션을 다시 시작해야합니다. 나는 분명히하기를 바랍니다. 알려주세요 :)
—
에드워드 Torvalds
@muru-
—
mikeserv
$var
with var=$(declare -p +F);
로 저장된 목록 을 가져온 다음 해당 함수에 대한 인수로 해당 목록 을 전달합니다 echo "${2%%=*}".
.
나는 당신이 무엇을하려고하는지 전혀 모른다. 대화식 쉘이나 스크립트에 대해 이야기하고 있습니까? 대화식 쉘에서 실행 된 스크립트에 설정된 변수는 상위 쉘에 영향을 미치지 않습니다. 추구하고있는 막 다른 골목이 아니라 달성하고자하는 것을 말씀해주십시오 .
—
Gilles 'SO- 악마 중지
exec "$0"
어쩌면-그러나 당신이 global에 의해 당신이 무엇을 의미하는지 말하기는 어렵다 .