반응형
여러 줄 셸 변수를 지정하려면 어떻게 해야 합니까?
질문을 작성했습니다.
function print_ui_hosts
{
local sql = "select ........."
print_sql "$ sql"
}
local sql - 매우 긴 문자열입니다.쿼리의 형식이 지정되지 않았습니다.문자열을 여러 줄로 분할하려면 어떻게 해야 하나요?
필요한 곳에 새 행을 삽입하기만 하면 된다
sql="
SELECT c1, c2
from Table1, Table2
where ...
"
셸은 마감 따옴표를 찾습니다.
사용하다read아래 그림과 같이 유전자가 있는 경우:
read -d '' sql << EOF
select c1, c2 from foo
where c1='something'
EOF
echo "$sql"
대부분의 경우 다른 답변으로 충분하지만 한 가지 답변을 더 드리고 싶습니다.
여러 줄에 걸쳐 문자열을 쓰려고 했는데 내용이 한 줄이어야 했어요.
sql=" \
SELECT c1, c2 \
from Table1, ${TABLE2} \
where ... \
"
조금 주제에서 벗어난다면 죄송합니다(SQL에서는 필요 없었습니다).그러나 이 게시물은 여러 줄의 셸 변수를 검색했을 때 첫 번째 결과 중 하나이며, 추가 답변이 적절하다고 생각됩니다.
비슷한 질문에 대한 dimo414의 답변 덕분에 그의 훌륭한 솔루션이 어떻게 기능하는지 알 수 있으며 텍스트에 인용문이나 변수를 쉽게 넣을 수 있습니다.
출력 예
$ ./test.sh
The text from the example function is:
Welcome dev: Would you "like" to know how many 'files' there are in /tmp?
There are " 38" files in /tmp, according to the "wc" command
test.sh
#!/bin/bash
function text1()
{
COUNT=$(\ls /tmp | wc -l)
cat <<EOF
$1 Would you "like" to know how many 'files' there are in /tmp?
There are "$COUNT" files in /tmp, according to the "wc" command
EOF
}
function main()
{
OUT=$(text1 "Welcome dev:")
echo "The text from the example function is: $OUT"
}
main
read는 변수를 내보내지 않습니다(대부분 좋은 일입니다).다음은 하나의 명령어로 내보낼 수 있고, 라인피드를 유지 또는 폐기할 수 있으며, 필요에 따라 견적 스타일을 혼합할 수 있는 대체 명령어입니다.bash 및 zsh에 유효합니다.
oneLine=$(printf %s \
a \
" b " \
$'\tc\t' \
'd ' \
)
multiLine=$(printf '%s\n' \
a \
" b " \
$'\tc\t' \
'd ' \
)
SQL에 대한 견적의 필요성은 인정하지만, 제목에 있는 (좀 더 일반적인) 질문에 대한 답변입니다.
이렇게 써요.
export LS_COLORS=$(printf %s \
':*rc=36:*.ini=36:*.inf=36:*.cfg=36:*~=33:*.bak=33:*$=33' \
...
':bd=40;33;1:cd=40;33;1:or=1;31:mi=31:ex=00')
내 파일 둘 다에서 나온 파일 중 하나와..bashrc그리고..zshrc.
언급URL : https://stackoverflow.com/questions/15429330/how-to-specify-a-multi-line-shell-variable
반응형
'programing' 카테고리의 다른 글
| 조건부 바인딩: if let error – 조건부 바인딩 이니셜라이저에는 옵션 유형이 있어야 합니다. (0) | 2023.04.19 |
|---|---|
| 부트스트랩3의 sr-only는 무엇입니까? (0) | 2023.04.19 |
| Swift에서 dispatch_once singleton 모델 사용 (0) | 2023.04.19 |
| 변경을 잃지 않고 마지막으로 푸시되지 않은 git 커밋을 언커밋하는 방법 (0) | 2023.04.19 |
| 특정 파일을 변경한 모든 커밋을 나열하려면 어떻게 해야 합니까? (0) | 2023.04.14 |