【发布时间】:2015-10-28 09:53:00
【问题描述】:
我正在尝试编写一个 bash 脚本来运行一个 python 程序,该程序在终端中获取文件名和打印值。我的 bash 程序应该从终端获取三个参数。首先是 python 程序名称,其次是文件夹名称第三个是我要存储 python 程序输出的文件名。
#!/bin/bash
directoryname = "$1"
programname = "$2"
newfilename ="$3"
for file in directoryname
do
python3 programname "$file" >> newfilename
done
我正在执行程序如下: ./myscript.sh mypython.py /home/data myfile.txt
但它给出的错误是:
./myscript.sh: line 2: directoryname: command not found
./myscript.sh: line 3: programname: command not found
./myscript.sh: line 4: newfilename: command not found
请帮帮我。我对 bash 脚本很陌生。
【问题讨论】:
-
去掉变量名和=之间的空格
-
你的意思是从命令行,对吧?你说的是“从终端”,但对我来说,这意味着在脚本运行后提示和读取一个值。
-
您要处理指定目录中的所有文件吗?如果没有,为什么你有一个循环?如果是这样,您需要将
/*(和$)——如$directoryname/*——添加到循环控制中。