2015-05-07 2 views
-1

Я хотел что-то вроде этого:Bash LeftPad Строка с пробелами внутри переменной

CUSTOMERNAME="THIS IS A TEST" 
    printf "| %-30s " $CUSTOMERNAME 

Но проблема в том, что значение CUSTOMERNAME имеет некоторое пространство. Выходные выглядит любит это:

| THIS       | IS        | A        | TEST 

Но я хотел что-то вроде этого

| THIS IS A TEST    | 

Что я могу сделать? Есть идеи?

Спасибо, Hauke ​​

+0

возможно дубликат [Я просто присвоить переменной, но эхо $ переменная показывает что-то еще] (HTTP://stackoverflow.com/questions/29378566/i-just-assigned-a-variable-but-echo-variable-shows-something-else) –

ответ

3

Чтобы предотвратить разложение слова, двойные кавычки переменная:

printf "| %-30s " "$CUSTOMERNAME" 
+0

И добавьте эхо после переменной, чтобы получить новую строку, 'printf '|% - 30s "" $ CUSTOMERNAME "; echo'. – mattias

+3

@mattias: '\ n' в формате проще. – choroba

+0

спасибо. Это было быстро! Я могу принять ответ через 5 минут. – Hauke