我想从一个脚本回显到另一个脚本,但是我不想获得命令的输出,因为我想在另一个脚本中使用这个命令,我需要创建一个为我创建adduser.local脚本的脚本。
第一个脚本是:
#!/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脚本需要如下所示
#!/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
发布于 2019-07-11 13:48:17
发布于 2019-07-11 12:58:47
使用这里的文档,确保引用分隔符单词,以便shell不会展开正文中的任何内容:
#!/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时“拒绝权限”的问题?
https://askubuntu.com/questions/1157638
复制相似问题