脚本中找不到 Grep 和其他程序
Grep and other programs not found in script
我正在尝试收集我所有的 TODO 并将它们制作成一个文件。
#!/bin/bash
# Script for getting all TODOS
PATH="~/documents/obsidian-notes/"
OUTPUT="/home/fish/documents/obsidian-notes/TODO.md"
echo "#TODO" > $OUTPUT
grep -hr --exclude-dir=plugins "\bTODO\b:.*" $PATH | awk '{print [=10=],"\n"}' >> $OUTPUT
如果我 运行 提示中的每一行都可以完美运行。当我将它们添加到脚本并使其可执行并 运行 它时,我得到
./obtodo.sh: line 10: grep: command not found
./obtodo.sh: line 10: awk: command not found
./obtodo.sh: line 12: chown: command not found
我尝试 运行ning 作为 sudo 并使用 chmod a+x
使脚本可执行
$PATH 是 shell 的一个特殊变量。它定义了执行子命令时要搜索的目录列表。
Bash 不知道 grep、awk 或 chown 在哪里。请使用不同的变量名而不是 $PATH。
尝试
#!/bin/bash
# Script for getting all TODOS
xPATH="~/documents/obsidian-notes/"
OUTPUT="/home/fish/documents/obsidian-notes/TODO.md"
echo "#TODO" > $OUTPUT
grep -hr --exclude-dir=plugins "\bTODO\b:.*" $xPATH | awk '{print [=10=],"\n"}' >> $OUTPUT
我正在尝试收集我所有的 TODO 并将它们制作成一个文件。
#!/bin/bash
# Script for getting all TODOS
PATH="~/documents/obsidian-notes/"
OUTPUT="/home/fish/documents/obsidian-notes/TODO.md"
echo "#TODO" > $OUTPUT
grep -hr --exclude-dir=plugins "\bTODO\b:.*" $PATH | awk '{print [=10=],"\n"}' >> $OUTPUT
如果我 运行 提示中的每一行都可以完美运行。当我将它们添加到脚本并使其可执行并 运行 它时,我得到
./obtodo.sh: line 10: grep: command not found
./obtodo.sh: line 10: awk: command not found
./obtodo.sh: line 12: chown: command not found
我尝试 运行ning 作为 sudo 并使用 chmod a+x
$PATH 是 shell 的一个特殊变量。它定义了执行子命令时要搜索的目录列表。
Bash 不知道 grep、awk 或 chown 在哪里。请使用不同的变量名而不是 $PATH。
尝试
#!/bin/bash
# Script for getting all TODOS
xPATH="~/documents/obsidian-notes/"
OUTPUT="/home/fish/documents/obsidian-notes/TODO.md"
echo "#TODO" > $OUTPUT
grep -hr --exclude-dir=plugins "\bTODO\b:.*" $xPATH | awk '{print [=10=],"\n"}' >> $OUTPUT