«variable» 태그된 질문

변수는 기호 의미로 올바르게 선택되면 값을 보유하는 이름입니다. 쉘 스크립팅에서 변수 사용에 대한 질문이있는 경우이 태그를 사용하십시오 (프로그래밍 언어의 변수에 대해 질문하려면 StackOverflow에 문의해야합니다).

2
“”가 포함 된 문자열 안에 변수를 삽입하는 방법은 무엇입니까?
변수를 삽입하여 xml 문자열을 구성하고 싶습니다. str1="Hello" str2="world" xml='<?xml version="1.0" encoding="iso-8859-1"?><tag1>$str1</tag1><tag2>$str2</tag2>' echo $xml 결과는 <?xml version="1.0" encoding="iso-8859-1"?><tag1>Hello</tag1><tag2>world</tag2> 그러나 내가 얻는 것은 : <?xml version="1.0" encoding="iso-8859-1"?><tag1>$str1</tag1><tag2>$str2</tag2> 나는 또한 시도했다 xml="<?xml version="1.0" encoding="iso-8859-1"?><tag1>$str1</tag1><tag2>$str2</tag2>" 그러나 내부 큰 따옴표를 제거하고 다음을 제공합니다. <?xml version=1.0 encoding=iso-8859-1?><tag1>hello</tag1><tag2>world</tag2>
25 bash  shell  variable  xml 





3
따옴표 붙은 변수가 비어 있으면 어떻게 확장 할 수 있습니까?
내가 스크립트를하고 있다고 가정 해보십시오. some-command "$var1" "$var2" ... 그리고 var1비어있는 경우 빈 문자열 대신 아무것도 대체하지 않으므로 실행 된 명령은 다음과 같습니다. some-command "$var2" ... 그리고 아닙니다 : some-command '' "$var2" ... 변수를 테스트하고 조건부로 포함시키는 것보다 간단한 방법이 있습니까? if [ -n "$1" ]; then some-command "$var1" "$var2" …

4
dirname 및 basename 대 매개 변수 확장
한 양식을 다른 양식보다 선호하는 객관적인 이유가 있습니까? 성능, 신뢰성, 휴대 성? filename=/some/long/path/to/a_file parentdir_v1="${filename%/*}" parentdir_v2="$(dirname "$filename")" basename_v1="${filename##*/}" basename_v2="$(basename "$filename")" echo "$parentdir_v1" echo "$parentdir_v2" echo "$basename_v1" echo "$basename_v2" 생산 : /some/long/path/to /some/long/path/to a_file a_file v1은 셸 매개 변수 확장을 사용하고 v2는 외부 바이너리를 사용합니다.

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


5
파이프는 변수를 할당
간단하게하기 위해하고 싶습니다 : echo cart | assign spo; echo $spo 출력 : 카트 그러한 assign응용 프로그램이 있습니까? 대체를 사용 하여이 작업을 수행하는 모든 방법을 알고 있습니다.
19 bash  variable 

2
null 병합 방식으로 쉘 변수 설정
나는 정말로 "null coalescing"을 좋아하는데, 여기에서 사물 목록에서 첫 번째 "null이 아닌"값으로 변수를 설정할 수 있습니다. 많은 언어가이를 지원합니다 (예 : 씨#: String myStr = string1 ?? string2 ?? "default"; 자바 스크립트 : var myStr = string1 || string2 || "default"; ...기타. 변수를 설정하기 위해 Bash 에서이 작업을 수행 할 …
19 bash  shell  variable 

3
명령 옵션에 쉘 변수 사용
Bash 스크립트에서 사용중인 옵션을 rsync별도의 변수 에 저장하려고 합니다. 간단한 옵션 (예 :)에는 잘 작동 --recursive하지만 다음 과 같은 문제가 발생합니다 --exclude='.*'. $ find source source source/.bar source/foo $ rsync -rnv --exclude='.*' source/ dest sending incremental file list foo sent 57 bytes received 19 bytes 152.00 bytes/sec total size is …
19 bash  variable 

1
쉘에서 $ {$ #}이 $$와 동일한 결과를 리턴하는 이유는 무엇입니까?
에서 마지막 위치 매개 변수를 가져 /bin/dash오려고 시도했지만 시도했습니다 echo ${$#}. 놀랍게도 이로 인해 오류가 발생하지 않았지만 $$가변 내용 과 동일한 PID에 오류가 발생했습니다 . 질문, 왜 그 구문이 효과가 있었습니까? 여기서 쉘이 적용한 구문 규칙은 무엇입니까? 기본적으로 내가 한 일은 $ set 1 2 3 4 5 $ echo …
18 shell  variable 

3
따옴표 붙은 변수의 옵션이 실패하는 이유는 무엇입니까?
나는 $ foo 대신 "$ foo"와 같이 bash에서 변수를 인용해야한다는 것을 읽었습니다. 그러나 스크립트를 작성하는 동안 따옴표없이 작동하지만 따옴표로는 작동하지 않는 경우를 발견했습니다. wget_options='--mirror --no-host-directories' local_root="$1" # ./testdir recieved from command line remote_root="$2" # ftp://XXX recieved from command line relative_path="$3" # /XXX received from command line 이것은 작동합니다 : wget …

6
실행될 때 변수를 인용해야합니까?
쉘 스크립팅의 일반적인 규칙은 강제적 인 이유가없는 한 변수를 항상 인용해야한다는 것입니다. 알고 싶은 것보다 자세한 내용 은 bash / POSIX 셸에서 변수를 인용하는 것을 잊어 버린 보안에 대한 훌륭한 Q & A를 살펴보십시오 . 그러나 다음과 같은 기능을 고려하십시오. run_this(){ $@ } $@거기에 인용 해야합니까 ? 나는 그것을 조금 …

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