Eu quero criar um arquivo chamado "Lista de Compras" (2 palavras no nome deste arquivo)

1

Eu sei que podemos usar

cat > fire

para criar um arquivo com o nome "fire". Mas se o nome do arquivo contiver 2 palavras como "Lista de compras", como se faz isso?

Desde

cat > Grocery list

dá a mensagem estranha cat: list: No such file or directory .

Por favor me ajude.

    
por Akshita Tyagi 30.09.2016 / 19:32

2 respostas

6

Muitas maneiras:

  • Usando aspas simples ao redor do nome:

    cat > 'Grocery list'
    
  • Usando aspas duplas em torno do nome:

    cat > "Grocery list"
    
  • Escape o espaço em branco com \ :

    cat > Grocery\ list
    

Quando você faz:

cat > Grocery list

Grocery e list são considerados como duas palavras.

A direção de saída > Grocery é feita por shell, e isso acontece primeiro, então o arquivo Grocery é criado e, em seguida, cat list é executado, ou seja, list é usado como argumento para cat presumivelmente, não há arquivo como list presente no diretório atual, daí o erro sobre a falta de list file.

Então, nesse caso, basicamente você está fazendo:

cat list > Grocery
    
por 30.09.2016 / 19:34
0

Você precisa escapar do espaço de alguma forma. heemayl deu-lhe uma boa resposta, mas eu recomendo a leitura deste também para detalhes: Por que meu script de shell sufoca em espaços em branco ou outros caracteres especiais?

Quanto à criação do próprio arquivo, você não precisa usar cat .

> file

é o suficiente.

    
por 30.09.2016 / 19:45