It look like set tabstop=4
in VIM, but I don't know how to set it in bash
for example:
echo -e "1234567890\t321\n1\t2\n123\t1"
current output:
1234567890 321
1 2
123 1
I want output like this:
1234567890 321
1 2
123 1
It can be shown in anywhere, just like cat somefile
or php -r 'echo "\t123";'
How can I set tab width in bash?
That's not a property of your shell (or php or cat). It's your terminal that manages the output.
Use the tabs
command to change the behavior:
$ tabs 4
$ echo -e "a\tb"
a b
$ tabs 12
$ echo -e "a\tb"
a b
(tabs
is specified in POSIX, and output above is "faked": it's still a tab character between the two letters.)