【发布时间】:2020-03-04 14:49:50
【问题描述】:
第一次问堆栈溢出问题。我是一名学生,正在开发一个小型 Linux 待办事项列表应用程序,用户可以使用如下命令创建新文件:
./todo add "hello world"
...结果应该是待办事项列表中的一个新文本文件,其中包含文本“hello world”(或“”中的任何内容)。
目前为止:我的 bash 脚本 add.sh 创建了一个新文件,将其添加到待办事项列表并重命名该列表中的所有项目以创建一个编号列表,如下所示:
1.txt 2.txt 3.txt
这是我的 add.sh 代码:
echo $2 >> newFile.txt. #creates a new file
mv newFile.txt ~/todoApp/usrMenu/todo #moves file to todo list
cd ~/todoApp/usrMenu/add && ./name.sh #renumbers all files in the todo list
但这是我的问题: 如何让命令行中的 $2 参数(“hello world”)成为我的新文件中的文本?
现在,当我 cat 新文件时,它是空白的。我想要的是让新文件读取“hello world”。
提前致谢!
【问题讨论】:
-
./todo与add.sh有什么关系? -
./todo 是一个 bash 脚本,您可以使用它来调用目录 ~/todoApp 中的任何其他函数/脚本。
-
你能发帖
./todo吗?听起来问题出在那个脚本而不是add.sh -
好的,谢谢!我的那部分代码真的很基础。它只是一个 if-else 树,
if [ $1 == "add" ] then ./usrMenu/add/add.sh #calls add.sh和树的其余部分调用其他 bash 脚本。 -
只需将参数传递给脚本:
./usrMenu/add/add.sh "$2"
标签: linux bash shell unix command-line