我正在尝试使用bash脚本分隔ip和端口。以下是我的内容
my proxies.txt文件
48.54.87.45:1000
48.54.87.45:1001
48.54.87.45:1002
我的bash脚本
#!/bin/sh
input="proxies.txt"
while IFS= read -r var
do
echo "$var"
IFS=':' read proxy port <<< "$var"
echo "$proxy"
echo "$port"
echo "---------------"
done < "$input"
但是我收到以下错误
语法错误:重定向意外
我测试了循环,它确实逐个读取文件。它是给出错误的IFS
行。
我做错了什么?
答案 0 :(得分:1)
public class Main {
public static void main(String[] args) {
/**
* Read in "./Root/files/echo.csv" und "./Root/files/file1.csv"
* and output the correspondent warning on System.out
*/
String file1 = new String("");
String echo = "";
file1 = CSVReader("./Root/files/file1.csv"); /*cannot find
symbol */
echo = CSVReader("./Root/files/echo.csv"); // same error
}
}
是仅限bash的语法。如果您尝试在运行<<<
的脚本(使用/bin/sh
shebang或使用#!/bin/sh
运行)中使用它,则会导致此错误。
使用sh scriptname
或实际调用bash 的其他shebang启动您的脚本。