我试图了解如何使用 shell 变量IFS。我有以下代码:
#!/bin/bash
ourpath=$PATH
oldIFS=$IFS
IFS=":"
echo "ourpath = $ourpath"
for directory in "$ourpath"; do
echo "directory = $directory"
done
IFS=$oldIFS
Run Code Online (Sandbox Code Playgroud)
使用bash test.shyield运行它:
ourpath = ~/bin:/home/<user>/anaconda3/bin:/home/<user>/.local/bin:/home/<user>/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:~/scripts
directory = ~/bin:/home/<user>/anaconda3/bin:/home/<user>/.local/bin:/home/<user>/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:~/scripts
Run Code Online (Sandbox Code Playgroud)
但我希望directory循环遍历目录,$PATH因为它应该被:. 这里出了什么问题?