Yanıtlar:
Ayracı gibi genişleme iken {1,2}
de menşeli csh
70'lerin ve yolunda bulundu Bourne benzeri içinde kabuklar bash
/ zsh
/ pdksh
80'lerin, 90'ların başında, {n1..n2}
varyant daha sonra birinci geldi zsh
1995 (2.6-beta4).
bash
2004'te (3.0) ve ksh93
2005'te ( ksh93r
) kopyaladı .
Muhtemelen bu in çalışıyoruz kabuk ne olanların veya daha eski bir sürümü bash
ve ksh93
.
#!/bin/sh
...
/bin/sh
olduğu bash
veya ksh93
.
/bin/sh
davranan kabuklar sh
(bash man sayfasının zaten söylediği şey budur). ksh
'Nin adam sayfasını kontrol etmedim, ama eminim buna göre davranacak.
zsh
önce bir zsh kabuğu ( ) başlatmayı deneyebilirsiniz . Başka bir çözüm "mkdir $ (seq 1 10)" gibi bir şey kullanmak olacaktır.
{x..y}
Aralık küme genişletmesi bash 3.0-alfa'da uygulanır. Bize ve kendinize yardımcı olmak için lütfen echo "$BASH_VERSION"
çıktılarınızı gösterin .
Sonra cevap: Eğer mkdir {1..10}
ismiyle bir dir oluşturursa, {1..10}
daha önce bash versiyonunu kullanıyorsunuz demektir bash 3.0-alpha
. Bu durumda bir for döngüsü yapısını şu şekilde kullanabilirsiniz:
for ((i=1;i<=10; i++)); do mkdir "$i"; done
Bash sürümünüzü kontrol edin:
$ bash -version
GNU bash, version 4.1.7(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
Ayrıca mkdir
, garip bir şekilde takma ad olmadığını kontrol edin :
$ alias |grep mkdir
alias md='mkdir'
mkdir {1..10}
benim için çalışıyor, on dir.