변수를 선언하고 사용하는 방법을 포함한 기본 사항을 배우는 중입니다. 내가 이름을 지정한 모든 변수 목록을 표시하는 쉬운 방법이 있습니까? (검색을 통해 찾은 모든 것은 환경 변수에 대해서만 이야기합니다. 내가 찾고 있는 것일 수도 있지만 아닐 수도 있습니까?)
답변1
자체를 실행하면 declare
모든 환경 변수 목록이 제공됩니다.현재 쉘에서, 귀하가 직접 정의한 항목을 포함합니다. 또한 -p
건너뛰는 옵션을 사용하지 않는 한 기능이 포함되지 않지만 약간의 소음이 추가됩니다.
답변2
변수에는 2가지 유형이 있습니다(실제로 그보다 더 많지만 이 컨텍스트에서는 2개만): 개인 변수와 내보낸 변수.
개인 변수는 셸(또는 스크립트) 내에서 사용할 수 있지만 셸(또는 스크립트)에 의해 시작된 프로그램에서는 사용할 수 없는 변수입니다. 또는 를 사용하여
내보낸 변수를 포함한 모든 변수 목록을 가져올 수 있습니다. Bash에서는 세 가지 모두 동일한 작업을 수행합니다.declare
typeset
set
내보낸 변수는 셸이나 셸에서 시작된 프로그램에서 사용할 수 있습니다.
를 사용하여 내보낸 변수 목록을 가져올 수 있습니다env
.
주목해야 할 한 가지 중요한 점은 다음과 같은 작업을 수행할 때입니다.
FOO="bar"
echo "$FOO"
$FOO
비공개/내보낼 수 없는 변수입니다. 쉘은 에 전달되기 전에 실제로 확장됩니다 $FOO
. 그래서 실제로 호출됩니다.bar
echo
echo
echo "bar"
export FOO
또는 를 실행하여 변수를 내보낼 수 있습니다 export FOO="bar"
.
또한 변수를 명령 시작 부분에 추가하여 프로그램에 대해 한 번만 호출되도록 변수를 내보낼 수 있습니다. 예를 들어
FOO="bar" cmd1
cmd2
cmd1
접근 가능 $FOO
하지만 cmd2
그렇지 않을 것입니다.