«variable-substitution» 태그된 질문

1
bash에서 느낌표로 변수 대체
내 .cfg bash 스크립트 파일에 다음 줄이 있습니다. DDF_SOURCE="siebel_DATA_DATE_FORMAT" DATA_DATE_FORMAT=${!DDF_SOURCE} 방법이다 ${!DDF_SOURCE} 평가? 그것은 것 !siebel_DATA_DATE_FORMAT나에게 이해가되지 않는다.



2
$ {PATH : + : $ {PATH}}의 의미는 무엇입니까?
최근에 cygwin 프로파일에서 다음을 더 정확하게 알았습니다. /usr/local/bin:/usr/bin${PATH:+:${PATH}} 무슨 뜻이에요? 왜 단지 $ PATH가 아닌가? 이것이 '$ PATH가 존재하면 : $ PATH'를 추가합니까? 내 목적은 순서를 바꾸고 cygwin 경로를 Windows 경로 뒤에 넣는 것입니다. 과거에는 $PATH:/usr/local/bin:/usr/bin 그러나 이것은 나를 혼란스럽게합니다. 어쩌면 내가해야 할 것 PATH="${PATH:+${PATH}:}/usr/local/bin:/usr/bin" $ PATH 끝에 :를 추가하려면?

7
bash 및 zsh에서 이중 및 삼중 대체
이 질문 의 배경 부분에 대한 후속 조치 . 에서 이중 치환에 bash사용할 수 있습니다 . 둘 다, 구식 (hack-y)이 작동합니다.${!FOO}zsh ${(P)FOO}eval \$$FOO 따라서 나에게 가장 똑똑하고 가장 논리적 인 것은 ${${FOO}}, ${${${FOO}}}…이중 / 삼중 / n 대체입니다. 왜 이것이 예상대로 작동하지 않습니까? 두 번째로 다음은 무엇 않습니다 \에서 할 …

4
다른 스크립트의 내용으로 사용할 변수를 이스케이프 처리
이 질문은 올바르게 이스케이프 된 문자열 리터럴을 작성하는 방법에 관한 것이 아닙니다 . 스크립트 또는 다른 프로그램에서 직접 소비하기 위해 변수를 이스케이프 처리하는 방법에 관한 관련 질문을 찾을 수 없습니다. 내 목표는 스크립트가 다른 스크립트를 생성 할 수있게하는 것입니다. 생성 된 스크립트의 작업은 다른 컴퓨터 에서 0에서 n 번 까지 …

2
문자열에서 bash 변수 뒤에 공백을 피하는 방법은 무엇입니까?
색상에 대한 변수가 있습니다. 문자열 내부에서 색상을 평가하여 문자열에 색상을 설정하는 데 사용합니다. 그러나 이름 뒤에 공백을 포함해야합니다 (이름에 텍스트의 일부가 포함되지 않도록). 이것은 때때로 나빠 보인다. 이 공간을 사용 (인쇄)하지 않으려면 어떻게해야합니까? 예 (하자 말 그 Red=1와 NC=2) echo -e "$Red Note: blabla$NC". 산출: 1 Note: blabla2. 예상 출력 …

3
bash는 매개 변수 확장에서 역 참조를 지원합니까?
나는라는 변수가 descr문자열을 포함 할 수 있습니다 Blah: -> r1-ae0-2 / [123], -> s7-Gi0-0-1:1-US / Foo등 내가 싶어 -> r1-ae0-2, -> s7-Gi0-0-1:1-US문자열에서 일부를. 현재 나는 이것을 위해 사용 descr=$(grep -oP '\->\s*\S+' <<< "$descr"합니다. 더 좋은 방법이 있습니까? 매개 변수 확장으로이 작업을 수행 할 수도 있습니까?


4
쉘 스크립트로 변수 내용의 내용을 인쇄 할 수 있습니까? (간접 참조)
다음 변수를 선언했다고 가정 해 봅시다. $ var='$test' $ test="my string" 내용을 인쇄하면 다음이 표시됩니다. $ echo $var $test $ echo $test my string 나는의 내용의 내용을 인쇄하는 방법을 찾으려면 $var(내용입니다 $test). 그래서 나는 다음을 시도했다. $ echo $(echo $var) $test 그러나 결과는 다음 $test과 같습니다 "my string"... bash를 사용하여 …

4
$ {! FOO} 및 zsh
${!FOO} 이중 치환을 수행 bash 즉, FOO의 (문자열) 값을 가져와 변수 이름으로 사용합니다. zsh이 기능을 지원하지 않습니다. 이 작업을 동일하게 만드는 방법이 있습니까? bash 와 zsh? 배경: 다음과 같은 환경 변수 목록이 있습니다. PATH MAIL EDITOR 먼저 변수 이름을 인쇄 한 후 값을 인쇄하려고합니다. 이것은 작동 bash하지만 작동 하지 않습니다 …

3
“$ {PS1-}”은 유효한 구문이며 일반“$ PS1”과 어떻게 다릅니 까?
나는 다음을 가진 스크립트를보고있다 : if [ "${PS1-}" ]; then 그 후행 -은 Posix 나 Bash 표준 구문처럼 보이지 않기 때문에 약간의 버그가 있습니다. 영원히 사용되어 왔던 오묘한 구문입니까, 아니면 오타입니까? 표준 / 문서에 대한 언급이 있으면 감사하겠습니다. 일반적으로 코드를 작성합니다. if [ "$PS1" ]; then 어느 것이 더 정확하거나 …

1
디버깅을위한 Bash 변수 확장을 참조하십시오.
bash 코드를 쉽게 읽을 수 있도록 변수를 확장하는 데 사용할 수있는 도구 / 트릭이 있습니까? 예를 들어 다음을 변환합니다. DIR=/var/tmp FILE=${DIR}/file SCRIPT_ROOT=/opt/root TOOL=${SCRIPT_ROOT}/tool.sh ${TOOL} ${FILE} 에: DIR=/var/tmp FILE=/var/tmp/file SCRIPT_ROOT=/opt/root TOOL=/opt/root/tool.sh /opt/root/tool.sh /var/tmp/file BASH 코드를 Python으로 변환하고 BASH 구문을 읽는 것은 지루합니다.

3
연결된 변수 이름 역 참조
나는 이것을 할 수 있지만 변수의 문자열을 만든 다음 참조 해제해야합니다. 더 간단한 진술로 단축 할 수있는 방법이 있습니까? #!/bin/bash FRUITS="BANANA APPLE ORANGE" BANANA_COLOUR="Yellow" APPLE_COLOUR="Green or Red" ORANGE_COLOUR="Blue" for fruit in $( echo $FRUITS ); do fruit_colour="${fruit}_COLOUR" echo $fruit is ${!fruit_colour} done 나는 ${!"${fruit}_COLOUR"}또는 \$${fruit}_COLOUR많은 다른 변형 을 시도했지만 효과가있는 …


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.