touch
, ls
및 와 같이 여러 인수를 허용하는 명령이 많이 있습니다 rm
. 이렇게 하면 해당 구성을 사용하여 {1..3}
명령에 대한 여러 매개변수를 생성할 수 있습니다. 예를 들어:
[root@192 ~]# touch file{1..3}
[root@192 ~]# ls file{1..3}
file1 file2 file3
[root@192 ~]# rm -f file{1..3}
[root@192 ~]#
일부 명령은 여러 매개변수를 지원하지 않습니다 groupadd
. 예를 들어 다음 명령은 오류를 생성합니다.
[root@192 ~]# groupadd g{1..3}
Usage: groupadd [options] GROUP
...
[root@192 ~]#
예를 들어 여러 개의 완전한 명령을 생성할 수 있습니까 groupadd g1; groupadd g2; groupadd g3;
? 다음 명령을 시도했지만 실패했습니다.
[root@192 ~]# `"groupadd g"{1..3}`
bash: groupadd g1: command not found...
[root@192 ~]#
그런데 저는 Bash를 처음 접했고 이 예제는 데모용으로만 사용되었습니다. 나는 여러 그룹을 만들려는 것이 아닙니다.
답변1
이를 수행하는 방법에는 여러 가지가 있습니다. 가장 간단하고 확실한 방법 중 하나는 for
루프를 사용하는 것입니다. 예를 들어:
for g in {1..3}; do groupadd "g$g" ...other groupadd args here... ; done
참고: touch
, ls
및 rm
예제(여러 인수, 즉 확장명을 사용하여 명령을 한 번 실행함 file{1..3}
)와는 달리, 이는 매번 하나의 인수를 사용하여 groupadd
세 번 실행됩니다."g$g"
답변2
loop 보다 짧은 방법을 찾았습니다 for
.
eval "groupadd g"{1..3}";"