systemFile' # to write in sys-6ren">
gpt4 book ai didi

bash - 带有 sudo sh 的 shell 脚本

转载 作者:行者123 更新时间:2023-12-03 09:24:18 26 4
gpt4 key购买 nike

我想制作一个脚本来安装程序(ROS),我需要编写这一行:

 sudo sh -c 'echo "TEXT VARIABLE TEXT" > systemFile'  # to write in systemaFile I need sudo sh

如果 echo 只是固定文本,则它可以工作。如果 echo 是文本+变量,则它不起作用。

我尝试过:

read f1 < <(lsb_release -a | grep Code* | cut  -f2)   #codename is writted in variable $f1
echo $f1 # retruns "quantal" as I expected
sudo sh -c 'echo "TEXT $f1 TEXT" > systemFile' #f1 is empty, WHY?

然后我必须在同一指令 sudo sh 内分配变量,例如:

sudo sh -c ' 读取 f1 <<(lsb_release -a | grep 代码* | cut -f2) ; echo "TEXT $f1 TEXT"> systemFile'

sh: 1: 语法错误:意外重定向

最佳答案

请像这个脚本行一样尝试

sudo sh -c 'echo TEXT '$f1' TEXT > systemFile'
sudo bash -c 'echo TEXT '$f1' TEXT > systemFile'

我在 .sh 文件中使用了这个可用的脚本行,并且它工作正常。

关于bash - 带有 sudo sh 的 shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24606171/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com