![]() |
1
9
事实上,马克的建议很有效,甚至不需要对内部字段分隔符做任何操作。问题是在子shell中运行ls,无论是通过backticks还是$(),都会导致for循环无法区分名称中的空格。简单使用
而不是ls解决了这个问题。
|
![]() |
2
2
由OP更新
|
![]() |
3
0
我知道这是一个早已过去的“回答”,并充分尊重爱德华菲,我想出了一个更好的方法,我想我会分享它。 eduffy答案的“错误”并不在于它是错误的,而是它强加了一个对我来说是痛苦的限制:当ls的输出通过管道传输时,隐含地创建了一个子shell,这意味着在循环中设置的变量在循环退出后丢失。因此,如果你想写一些更复杂的代码,你就有麻烦了。 我的解决方案是采用“阅读线” 作用
现在,您已经将所有的子shell活动打包到了整洁的小包中,并且可以进行shell编码,而不必担心变量值的范围被困在子shell中。 我用gnuc写了我的readline版本如果有人想要一个副本,在这里发布有点大,但也许我们可以找到一种方法。。。 RT |
![]() |
Sky · 使用命令行在Mac上安装anaconda 2 年前 |
![]() |
slipperfox · 命令行提示符命令(想了解它的作用) 2 年前 |
![]() |
keypoint · shell动态响应终端提示 6 年前 |
![]() |
Harry · 如何在mac上通过grep命令从文件中找到新行代码? 6 年前 |
![]() |
frick · 获取调用EXE的命令行路径 6 年前 |
|
user6124024 · 共享单独命令/进程的属性 6 年前 |
![]() |
quixote · 如何在swi prolog中删除命令历史记录 6 年前 |