우분투에는 몇 가지 기본 사항이 누락된 것 같습니다. 아니면 아직 설정하지 않았습니까?

우분투에는 몇 가지 기본 사항이 누락된 것 같습니다. 아니면 아직 설정하지 않았습니까?

다음과 같은 쉘 변수를 정의할 수 없습니다.

$a = "hello"
echo $a
echo a
$a
a

모든 것이 헛된 것입니다. 또한 이 명령은 나에게 작동하지 않습니다.

$ echo "HELLO HOW ARE YOU?" | tr '[:upper:]' '[:lower:]'

이 명령의 출력은 없습니다. ]

그렇다면 이러한 기능을 항상 사용할 수 있는 것은 아닙니다. 최근 일반 Ubuntu 설치에 설치하지 않는 이유는 무엇입니까?

답변1

당신은 Ubuntu를 사용하고 있으므로 bash.

변수를 정의할 때 다음을 수행합니다.

you@ubuntu:~$ a="hello"

공간이 없습니다. 달러 기호가 없습니다. 그렇지 않으면 작동하지 않습니다.

정의한 변수를 사용하려면 언제든지 달러 기호를 사용할 수 있습니다.

you@ubuntu:~$ echo $a
hello

세 번째 명령은 리터럴 문자 "a"를 출력해야 합니다.

you@ubuntu:~$ echo a
a

네 번째 명령은 아무 작업도 수행하지 않습니다.~하지 않는 한변수에 뭔가가 저장되어 있습니다 a. 문자열 "hello"를 올바르게 저장하면 다음이 수행됩니다.

you@ubuntu:~$ $a
bash: command not found: hello

다섯 번째 명령은 a존재하지 않는 실행 파일을 실행하려고 합니다. 이전 예의 메시지와 비슷한 메시지가 나타날 수 있습니다.

마지막 명령에 관해서는...글쎄, 나는 이것을 얻었습니다:

me@ubuntu:~$ echo "HELLO HOW ARE YOU?" | tr '[:upper:]' '[:lower:]'
hello how are you?

답변2

달러 기호를 사용하여 변수를 할당하지 마세요. 달러 기호는 변수를 읽는 데에만 사용됩니다.

주택 검사그리고셸 해석쉘 명령 디버깅에 적합합니다.

관련 정보