Se apenas houvesse uma variável cujo valor fosse um espaço ...
cat${IFS%?}file.txt
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
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.
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!
Tags command-line bash shell terminal