다음과 같은 변수가 있습니다
$a=/opt
$b=var
$c=usr
$path=/$a/$b/$c/man
cd $path를 수행하면 해당 파일이나 디렉토리가 없다고 표시됩니다.
하지만 이 경로는 실제로 /opt/var/usr/man에 존재합니다. 어떤 제안이 있습니까?
답변1
문제는 변수 할당 시 구문 오류입니다.
$a=/opt
$b=var
$c=usr
$path=/$a/$b/$c/man
.. 변수 할당 앞에 $
.. 이 올 수 없기 때문에 작동하지 않습니다.
다음과 같이 진행해야 합니다:
a=opt
b=var
c=usr
dir=/$a/$b/$c/man
cd $dir
이름은 같지만 상황이 다른 두 변수를 사용하는 것은 혼란을 야기할 수 있으므로 나쁜 생각이기 때문에 최종 변수 이름을 변경했습니다. ( PATH
매우 중요한 환경변수입니다.)
답변2
이것을 시도하면 echo $a$b$c
이것을 얻을 것이다
[root@centseven ~]# echo $a$b$c
/optvarusr
그래서 이것은 실행이 아닙니다.
마지막 변수는 다음과 같아야 합니다.path=/$a$b$c/man
변수를 다음으로 변경하십시오.
$a=/opt
$b=/var
$c=/usr
그럼 시도해 보세요 echo $path
. 저한테는 효과가 있었어요
[root@centseven ~]# echo $path
/opt/var/usr/man