如何将命令的输出重定向到 txt 文件中?

How to redirect the output of a command into a txt file?

提问人:DDisciple 提问时间:4/16/2019 最后编辑:DDisciple 更新时间:4/16/2019 访问量:373

问:

我想将以下命令的输出放入名为 log.txt 的文件中,命令如下

readlink -f var >日志.txt

我基本上只需要能够将文件位置放入该文件中,但这必须通过代码而不是通过终端完成

delete () {  #deletes all files in the arguments and places it in the recycle bin

shift
for var in "$@"
do
mv $var ~/RecycleBin
echo $var > log.txt
readlink -f var > log.txt
done

 }

由于某种原因,它没有将任何内容写入文件,文件仍然是空白的。

我把它改成这个

for var in "$@"  
do  
mv $var ~/RecycleBin  
echo $var >> log.txt  
readlink -f $var >> log.txt  
done  

}  
Bash 脚本

评论


答:

2赞 Cyrus 4/16/2019 #1

用于访问变量的内容,而不是 .$varvar

用于将内容追加到文件。 覆盖现有文件。>>>

用双引号引用变量:"$var"

评论

0赞 DDisciple 4/16/2019
我将其更改为“$@”中的 var 的以下内容 do mv $var ~/RecycleBin echo $var >> log.txt readlink -f $var >> log.txt done },但它仍然没有写入文件,文件 log.txt 根本没有更新。
0赞 Cyrus 4/16/2019
如何在脚本中使用函数?是否有任何错误消息?delete
0赞 DDisciple 4/16/2019
不,没有错误,该函数有效,它将用户选择的文件放在回收站文件夹中,只需要将其原始位置写入名为 log.txt 的文件中
0赞 Cyrus 4/16/2019
这可能有助于您解决问题:如何调试 bash 脚本?
0赞 DDisciple 4/16/2019
我让它工作了!它写入文件,但它将 readlink -f $var作为文本写入文件,而不是实际的命令输出,只是命令语句