ash 쉘 프로그래밍 궁금점입니다..

mabux의 이미지

리눅스에선 bash를 사용하여
하나의 파일을 반복해서 복사하도록 프로그래밍을 하였습니다.
입력값이 10일 경우 10개를 복사하도록..

#!/bin/sh

for i in $(seq 1 $1)
do
    cp -a test.c test.c_$i
done

제가 가지고 있는 곳에서는 sh가 ash 로 링크가 되어 있네요
쉘을 이용하여 위의 프로그래밍을 하니
seq 에서 에러가 나네요..

ash 에서는 어떻게 바꿔주어야 하는지 궁금합니다.
그리고 i 값의 시작이 1이던데 시작값을 5나 10으로 바꿀땐 어떻게 해야하는지 궁금합니다.
답변 부탁드리겠습니다.

익명 사용자의 이미지

$ rpm -qf `which ash`
ash-0.3.8-8
$rpm -qf `which seq`
coreutils-4.5.3-19.0.2
$ cat test.sh
#!/bin/sh

for i in $(seq 1 $1)
do
    cp -a test.c test.c_$i
done 
$ ash test.sh
$

아무 에러없이 잘 됩니다.
mabux의 이미지

Quote:
$ rpm -qf `which ash`
ash-0.3.8-8
$rpm -qf `which seq`
coreutils-4.5.3-19.0.2
$ cat test.sh
#!/bin/sh

for i in $(seq 1 $1)
do
cp -a test.c test.c_$i
done
$ ash test.sh
$

제가
$rpm -qf `which seq`
coreutils-4.5.3-19.0.2
를 설치할수 있는 상황이 아니라서 seq 에서 에러가 발생하는 듯 싶습니다.

다른 방법은 없는지 궁금합니다..

안녕하세요. 리눅스 초보입니다..
많은 부탁 바랍니다..

익명 사용자의 이미지

mabux wrote:

제가
$rpm -qf `which seq`
coreutils-4.5.3-19.0.2
를 설치할수 있는 상황이 아니라서 seq 에서 에러가 발생하는 듯 싶습니다.

다른 방법은 없는지 궁금합니다..

$ seq 1 5
1
2
3
4
5

seq 대신 expr을 사용하던가 하면 되겠네요. 아니면 인자 $1를 없애고 그냥

for x in 1 2 3 4 5; do 와 같은 식으로

ed.netdiver의 이미지

ash로 테스트해봤는데 잘되는군요.
ash문제가 아닌듯 싶습니다만...

--------------------------------------------------------------------------------
\(´∇`)ノ \(´∇`)ノ \(´∇`)ノ \(´∇`)ノ
def ed():neTdiVeR in range(thEeArTh)