Bash 스크립팅 언어는 Linux에서 작동 변수를 지원합니다. 그러나 다른 널리 사용되는 프로그래밍 언어에 대한 개발 경험이 있는 경우 Bash를 사용하여 변수를 처리하면 오류가 발생할 수 있습니다. 이는 구문이 다른 언어와 다르기 때문입니다(일부 개발자에게는 이상하기도 함).
이 기사에서는 내 경험을 바탕으로 5가지 실용적인 팁을 제공합니다. 이 내용을 읽고 나면 불필요한 실수를 피하는 데 도움이 될 수 있습니다.
Python과 같은 많은 언어의 경우 등호 주위에 공백을 추가하는 것은 코드의 가독성을 향상시키는 좋은 습관입니다.
하지만 Bash에서는 변수를 정의할 때 공백을 추가하면 안 됩니다.
예를 들어, name
라는 변수를 다음과 같이 선언한다면:
여기에 오류가 있습니다:
으아아아위에서 볼 수 있듯이 Bash는 불필요한 공백을 추가했기 때문에 name
를 변수가 아닌 명령으로 처리합니다.
따라서 변수를 정의하는 올바른 방법은 다음과 같습니다.
으아아아Bash에서 배열을 정의하는 것은 어렵지 않습니다. 다음 예와 같이 모든 요소를 포함하려면 한 쌍의 괄호만 사용하면 됩니다.
으아아아"세부 사항이 성공과 실패를 결정한다"는 말처럼. 이전에 Bash 스크립트를 작성하는 동안 중대한 실수를 저질렀습니다. 나는 습관적으로 배열의 각 요소를 구분하기 위해 공백이 아닌 쉼표를 사용합니다.
으아아아Bash는 쉼표를 구분 기호로 처리하지 않으며 예상되는 3개 대신 names
数组中只有一个元素 Yang,Elon,Bill
가 있습니다.
Bash에서 변수를 선언할 때 따옴표를 사용하는 세 가지 옵션이 있습니다.
기본적으로 Bash의 모든 값은 문자열입니다. 따라서 공백이 필요하지 않으면 따옴표를 사용할 필요가 없습니다. (다시 말하지만, 따옴표 없이 문자열을 정의할 수 없는 다른 언어와는 조금 다릅니다)
따옴표를 사용해야 하는 경우 작은따옴표와 큰따옴표의 차이점에 유의하세요.
예를 들어 아래와 같이 3개의 변수를 선언해 보겠습니다. 그래서 truth1
和 truth2
차이점이 무엇인가요?
如果你打印它们,你会看到 truth1
是 ${name} is amazing.
。而 truth2
是 Yang is amazing.
。
总而言之,一对单引号内的字符串将始终被解释为它的本身。
在 Bash 中,我们可以将命令的结果保存到变量中。有两种可能的方法来做到这一点:
variable=
command“variable=$(command)
例如,要保存 ls
命令的结果,我们可以这样写:
file_list=`ls`
或者
file_list=$(ls)
但是,这里的最佳实践始终是使用第二种方法,尤其是在编写较长的脚本时。因为反引号和单引号看起来很相似,有时你可能会混淆它们。
一些名称在 Linux 中被预定义为环境变量,如 USER
、HOME
、PATH
等。我们可以使用 printenv
命令列出它们。
显然,我们不应该用与环境变量相同的名称来声明我们的变量。
好消息是 Linux 中所有的环境变量都是用大写字母写的,所以我们可以用小写字母来自定义变量,以区别环境变量。这是一个好习惯。
위 내용은 Linux Bash Shell의 변수에 관한 5가지 일반적인 함정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!