今天在處理文件時遇到個問題,當文件名包含空格時,for循環就出問題了。
例如,我在當前文件夾下建立3個文件名包含空格的文件:
復制操作也不行:
要解決這個問題,當然就要從單詞分隔符著手。而bash中使用的是$IFS(Internal Field Separator)這個變量,內容為" /n/t":
keakons-MacBook-Pro:test keakon$ echo "$IFS" | od -t x1
0000000 20 09 0a 0a
0000004
keakons-MacBook-Pro:test keakon$ echo "" | od -t x1
0000000 0a
0000001
然后把它改成"/n/b",記得修改前先保存一下:
現在再執行上述命令就正常了:
最后,別忘了恢復$IFS:
新聞熱點
疑難解答