尝试为用户提供一个从crontab中选择要删除的行的选项。我正在使用read命令来获取用户的输入,但我无法正确地打印crontab -l的内容和行号。我可以打印带有行号的内容,但在read命令中,我不能。
下面是我正在使用的:read -p "Choose which schedule to remove based on line number:\n$(crontab -l | less -N)\n" removeLine
我可以执行:crontab -l | less -N
我还尝试过将crontab -l | less -N
放入一个变量中,并在read命令中使用该变量。
如果你有任何其他的建议,如何更好地做到这一点,我愿意接受任何东西。我只是需要的功能。
谢谢!
1条答案
按热度按时间x7yiwoj41#
请尝试以下操作。(此解决方案只会注解行而不会删除它们,一旦您对此感到满意,则可以根据您的需要进行更改)
代码的作用是什么?
crontab
的当前状态打印给用户,以便用户能够了解当前所有条目的内容。var
的shell变量中。var
传递给awk
的代码,在那里我们再次将其定义为一个名为var
的awk
变量。awk
代码的作用是:它查找该特定行,并通过在行首添加#
来插入COMMENT,然后简单地打印所有行。crontab -
保存新输出(由awk
命令操作),它将立即将其保存到crontab
。