Shell脚本EOF带变量

时间:2015-03-26 12:32:44

标签: bash shell eof

您好我想知道如何添加常规标签

我想将结果存储在执行ls -lis。

的变量中
AUX=`ls -lis $i`
RESULT+="$AUX"
I have a loop for all the files. And when I do 
echo $RESULT:

所有信息都在一行中,我希望每个文件都有一个EOF:

我试过这个,但它不起作用:

RESULT+="$AUX"
RESULT+=`echo -ne '\t'`

感谢您的时间

2 个答案:

答案 0 :(得分:1)

打印 Tab 字符与printf '\t'一样简单(可移植)。例如:

$ printf 'a\tb\n'
a       b

但是,您要查看how to loop through files reliablywhy not to use ls for this

答案 1 :(得分:1)

您必须使用双引号 enquote 您的参数(对于变量定义和命令):

AUX="`ls -lis $i`"
RESULT+="$AUX"
# ...  loop $i..
echo "$RESULT"

这样做,换行符也将存储在变量中。

您甚至可以添加额外的换行符:

AUX="`ls -lis $i`"
RESULT+="$AUX"$'\n\n'
# ...  loop $i..
echo "$RESULT"

一项测试:

RESULT=
for i in /usr /var;do
    AUX="$(ls -lis $i)"
    RESULT+="$AUX"$'\n\n'
  done

sort -nk7 <<<"$RESULT"

可以渲染像

total 244
total 96
    13  0 lrwxrwxrwx  1 root root      4 jun 11  2013 run -> /run
    12  0 lrwxrwxrwx  1 root root      9 jun 11  2013 lock -> /run/lock
131073  4 drwxr-xr-x 19 root root   4096 déc 15 11:28 cache
    14  4 drwxr-xr-x  2 root root   4096 déc 15 11:29 www
     2  4 drwxrwsr-x  12 root staff  4096 jun 11  2013 local
262145  4 drwxr-xr-x  2 root root   4096 nov 22 19:22 state
393217  4 drwxr-xr-x  3 root root   4096 aoû  1  2014 games
393305  4 drwxrwsr-x  2 root staff  4096 déc 14  2012 local
393306  4 drwxr-xr-x 22 root root   4096 mar 26 07:35 log
393330  4 drwxrwsr-x  2 root mail   4096 jun 11  2013 mail
393331  4 drwxr-xr-x  2 root root   4096 mai  5  2013 opt
393332  4 drwxr-xr-x  9 root root   4096 oct 13  2013 spool
524289  4 drwxr-xr-x  2 root root   4096 mar 25 07:35 backups
524290  4 drwxr-xr-x 79 root root   4096 fév 12 22:52 lib
663002  4 drwxr-xr-x   7 root root   4096 jan  6  2014 src
    11 16 drwx------   2 root root  16384 jun 11  2013 lost+found
    11 16 drwx------  2 root root  16384 jun 11  2013 lost+found
526043 16 drwxr-xr-x   2 root root  16384 fév 22 23:09 sbin
526287 16 drwxr-xr-x 439 root root  16384 mar 24 13:43 share
655361 20 drwxr-xr-x  68 root root  20480 fév 22 23:09 include
131155 36 drwxrwxrwt  3 root root  36864 mar 26 13:52 tmp
131073 60 drwxr-xr-x 248 root root  57344 mar 24 07:42 lib
524289 92 drwxr-xr-x   2 root root  90112 mar 24 13:43 bin