Como enviar um comando com argumentos sem espaços?

5

Existe uma maneira de executar um comando com argumentos no linux sem espaços em branco?

cat file.txt

precisa ser:

cat(somereplacementforthiswhitespace)file.txt
    
por Rob 14.03.2017 / 10:17

3 respostas

5

Se apenas houvesse uma variável cujo valor fosse um espaço ...

cat${IFS%?}file.txt

    
por 15.03.2017 / 01:36
4

Eu encontrei uma maneira de assumir um shell que suporta csh - como a expansão de chave como ksh , bash ou yash -o brace-expand ( zsh suporta expansão de chave, mas não como o primeiro argumento como esse que conflita com o agrupamento de comandos):

{cat,file.txt}

com isso você não precisa usar espaços em branco no seu argumento.

    
por 14.03.2017 / 11:20
1

Uma alternativa é usar o valor do IFS com a expansão de uma variável:

$ echo Hello! > file.txt

$ IFS=:
$ a=cat:file.txt
$ $a
Hello!
    
por 14.03.2017 / 17:24