¿Tengo que hacer alguna configuración para comenzar la expansión de llaves? Cuando ejecuto mkdir {1..10}, solo crea un nombre de directorio {1..10}.
shell
brace-expansion
usuario43312
fuente
fuente

mkdir {1..10}funciona para mí, crea diez directorios.echo ${SHELL}para hacer que esta pregunta pueda obtener una respuesta útil.Respuestas:
Si bien la expansión de los aparatos ortopédicos se
{1,2}origina acshfines de los años 70, y se abrió camino hacia las conchas tipo Bourne enbash/zsh/pdksha fines de los 80, principios de los 90, la{n1..n2}variante llegó primerozshen 1995 (2.6-beta4).bashlo copié en 2004 (3.0) yksh93en 2005 (ksh93r).Probablemente el shell en el que intentas esto no es ninguno de esos o es una versión anterior de
bashyksh93.fuente
#!/bin/sh.../bin/shesbashoksh93./bin/shactúan como históricossh(es lo que dice la página de manual de bash de todos modos). No he revisadokshla página del manual, pero estoy seguro de que se comportará en consecuencia.zsh) primero. Otra solución alternativa sería usar algo como "mkdir $ (seq 1 10)".{x..y}La expansión de llaves de rango se implementa en bash 3.0-alpha. Para ayudarnos a usted y a usted mismo, muestre suecho "$BASH_VERSION"resultado.Luego la respuesta: si
mkdir {1..10}crea un directorio con el nombre,{1..10}entonces está utilizando una versión bash anteriorbash 3.0-alpha. En ese caso, puede usar una construcción de bucle for como:for ((i=1;i<=10; i++)); do mkdir "$i"; donefuente
Verifique su versión de Bash:
También verifique que
mkdirno haya habido alias de alguna manera extraña:fuente