首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何将命令回显到其他文件

如何将命令回显到其他文件
EN

Ask Ubuntu用户
提问于 2019-07-11 20:30:26
回答 2查看 705关注 0票数 1

我想从一个脚本回显到另一个脚本,但是我不想获得命令的输出,因为我想在另一个脚本中使用这个命令,我需要创建一个为我创建adduser.local脚本的脚本。

第一个脚本是:

代码语言:javascript
代码运行次数:0
运行
复制
#!/bin/bash
sudo echo "
#!/bin/bash
'lastuser="$(grep home /etc/passwd | cut -d: -f 1 | tail -1)"' " >>
/usr/local/sbin/adduser.local

我从/usr/local/sbin/adduser.local获得的是命令的输出,我想复制命令,因为我不想在第一个脚本中获得输出,而是要在第二个脚本中获得输出。因此,我需要知道如何使用回显,因为第一个脚本将命令删除为adduser.local。

第一次运行后,adduser.local脚本需要如下所示

代码语言:javascript
代码运行次数:0
运行
复制
#!/bin/bash
lastuser="$(grep home /etc/passwd | cut -d: -f 1 | tail -1)"
#and now i can use the $lastuser in this script
echo " '$lastuser' ALL = !/usr/bin/apt-get update " >> /etc/sudoers
EN

回答 2

Ask Ubuntu用户

回答已采纳

发布于 2019-07-11 21:48:17

票数 0
EN

Ask Ubuntu用户

发布于 2019-07-11 20:58:47

使用这里的文档,确保引用分隔符单词,以便shell不会展开正文中的任何内容:

代码语言:javascript
代码运行次数:0
运行
复制
#!/bin/bash    

cat << 'EOF' | sudo tee -a /usr/local/sbin/adduser.local
#!/bin/bash
lastuser="$(grep home /etc/passwd | cut -d: -f 1 | tail -1)"
EOF

tee的使用是因为sudo echo "..." >> somefile没有做你认为它做的事情--参见如何解决在Bash中使用带重定向的sudo时“拒绝权限”的问题?

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1157638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档