반응형
bash for 루프에서 명령 줄 인수 범위를 사용하면 인수가 포함 된 대괄호가 인쇄됩니다.
아마도 절름발이 질문 일 것입니다. 하지만 명령 줄 [bash script]에서 3 개의 인수를 받고 있습니다. 그런 다음 for 루프에서 사용하려고합니다.
for i in {$1..$2}
do action1
done
경우 비록이 작동하지 않는 것 $1
입니다 "0"
하고 $2
있다 2
가 인쇄 {0..2}' and calls
한 번만 action1`. 다양한 예를 참조했는데 이것이 올바른 사용법 인 것 같습니다. 누군가 여기서 수정해야 할 사항을 알려주시겠습니까?
미리 감사드립니다.
어때 :
for i in $(eval echo {$1..$2}); do echo $i; done
다음을 사용하여 입력을 슬라이스 수 ${@:3}
또는 ${@:3:8}
그 위에 다음 루프를하고
예 : 3부터 시작하는 인수를 인쇄하려면
for i in ${@:3} ; do echo $i; done
또는 3에서 시작하는 8 개의 인수를 인쇄하려면 (따라서 인수 3에서 10까지)
for i in ${@:3:8} ; do echo $i; done
$ @ 변수를 사용 하시겠습니까?
for i in $@
do
echo $i
done
첫 번째 및 두 번째 인수를 사용하려면
for i in $1 $2
$ 1 및 $ 2가 정수이고 범위를 생성하려는 경우 C for 루프 구문 (bash)을 사용합니다.
for ((i=$1;i<=$2;i++))
do
...
done
비슷한 문제가있었습니다. 중괄호 '{}'내에서 $ 1을 역 참조하는 것이 문제라고 생각합니다. 다음 대안은 나를 위해 일했습니다 ..
#!/bin/bash
for ((i=$1;i<=$2;i++))
do
...
done
도움이되기를 바랍니다.
#/bin/bash
for i
do
echo Value: $i
done
이것은 스크립트 파일에 주어진 모든 인수를 반복합니다. 루프 변수 i 뒤에는 "do"또는 다른 어떤 것도 없습니다.
반응형
'Development Tip' 카테고리의 다른 글
SSH를 통해 EC2 서버에 접속하면 오류가 발생합니다. 루트 사용자가 아닌 ec2-user 사용자로 로그인하십시오. (0) | 2021.01.09 |
---|---|
리퍼러를 목적지로 보내는 링크 중지 (0) | 2021.01.09 |
currentTimeMillis를 읽을 수있는 날짜 형식으로 변환하는 방법은 무엇입니까? (0) | 2021.01.09 |
GridLayoutManager 및 RecyclerView로 열 수 변경 (0) | 2021.01.09 |
배열 구문 대 포인터 구문 및 코드 생성? (0) | 2021.01.09 |