스크립트를 작성할 때 변수를 생성할 때 및 를 bash
많이 사용했습니다 . 이렇게 하면 스크립트가 빨리 채워지고 코드 읽기가 어려워지고 반복적이게 됩니다. 모든 변수 및/또는 기본값을 생성하는 방법(예: 스크립트 상단의 플래그)이 있습니까 ?readonly
local -r
set
readonly
local -r
추가된 주의 사항은 3.2.57(1)-release
macOS에서 실행되어야 한다는 것입니다.
나는 이것이 불가능하다고 확신하지만 확인하고 싶었습니다.
"포기 bash
하고 올바른 스크립트 언어를 사용하십시오"라고 대답하지 마십시오. 나는 또한 다른 스크립팅 언어를 사용합니다. bash
스크립트에는 그 자리가 있고 저는 코딩을 즐깁니다.
답변1
기본적으로 모든 변수를 읽기 전용 및/또는 local-r로 만드는 방법(예: 스크립트 상단에 플래그 설정)이 있습니까?
아니요. 소스 코드를 bash
.
그러나 변수를 읽기 전용으로 만드는 데 필요한 의미 체계를 줄이기 위해 별칭을 선언할 수 있습니다.
예를 들어,
#!/bin/bash
#
shopt -s expand_aliases
alias lr='local -r'
demo() {
lr a=123
echo "$a"
((a++)) # Correctly fails with "a: readonly variable"
}
demo
답변2
사용하여발표하다기능 변수를 읽기 전용으로 만들 수 있습니다. 함수에 사용될 때발표하다변수를 로컬로 만듭니다.
구문은 다음과 같습니다발표하다이것은:
declare arg VARIABLE=value
변수를 읽기 전용으로 만들려면 다음을 사용할 수 있습니다.-아르 자형토론:
declare -r num=12
자세한 내용은 여기에서 확인하세요:http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_10_01.html
이것이 정확히 당신이 찾고 있는 것인지는 확실하지 않지만 BASH로 얻을 수 있는 것만큼 좋은 것 같습니다.