小编neu*_*rte的帖子

用于构建参数列表的 Bash 字符串连接

鉴于这一段 bash:

PARMS='-rvu'
PARMS+=" --delete --exclude='.git'"
echo $PARMS
rsync ${PARMS} . ${TARGET}
Run Code Online (Sandbox Code Playgroud)

回显按预期显示 PARMS 字符串,未显示任何错误,但 rsync 静默地运行,就好像由 += 添加的选项不存在一样。但是,这按预期工作:

PARMS='-rvu'
rsync ${PARMS} --delete --exclude='.git' . ${TARGET}
Run Code Online (Sandbox Code Playgroud)

我想我用 bash 引号搞砸了一些东西(这些引号总是有问题),但不确定是什么以及为什么忽略选项,即使字符串似乎已正确构建。

shell bash quoting arguments

17
推荐指数
1
解决办法
9144
查看次数

文件大小与 ls 的奇怪差异

ls -sh自 1997 年左右以来,我一直在使用检查文件大小,但今天发生了一些奇怪的事情:

ninja@vm:foo$ ls -sh
total 98M
1,0M app   
64M app_fake_signed.sbp  
800K loader  
804K loader_fake_signed.sbp  
1,0M web   
32M web_fake_signed.sbp
Run Code Online (Sandbox Code Playgroud)

appweb文件不应该比他们的同行签署的要小得多,而且我花了几个小时的调试签约程序。一无所获后,我偶然查看了 Samba 共享中的文件,发现它们的大小非常相似。我再次检查:

ninja@vm:foo$ ls -lh
total 98M
-rw-rw-r-- 1 ninja ninja  63M lut  4 14:13 app
-rw-rw-r-- 1 ninja ninja  64M lut  4 14:13 app_fake_signed.sbp
-rw-rw-r-- 1 ninja ninja 800K lut  4 14:13 loader
-rw-rw-r-- 1 ninja ninja 801K lut  4 14:13 loader_fake_signed.sbp
-rw-rw-r-- 1 ninja ninja  31M lut  4 14:13 web
-rw-rw-r-- …
Run Code Online (Sandbox Code Playgroud)

ls size

3
推荐指数
1
解决办法
3330
查看次数

标签 统计

arguments ×1

bash ×1

ls ×1

quoting ×1

shell ×1

size ×1