通过命令行创建shell脚本

zengzsys  于 2023-03-30  发布在  Shell
关注(0)|答案(1)|浏览(162)

如何使用以下命令在Ubuntu上创建script.sh文件。该脚本必须包含语法完全相同的命令,其中$符号作为变量和引号,如下所示:

paths=($(ls -l /home/*/.bashrc | awk "{print \$NF}")); echo "${paths[@]}"

for path in "${paths[@]}"
do
    sudo sh -c "echo 'if [ -z \"\$HISTTIMEFORMAT\" ]
    then export HISTTIMEFORMAT=\"%F %T \"
    fi' >> "$path""
done

我知道如何创建一个空文件,并使用nano script.sh和手动粘贴文本,但我需要这是自动化的。
类似下面的东西,但它失败了:

sudo bash -c 'echo "#!/bin/bash
paths=(\$(ls -l /home/*/.bashrc | awk \"{print \$NF}\")); echo \"\${paths[@]}\";
for path in \"\${paths[@]}\"
do
    sudo sh -c "echo 'if [ -z \"\$HISTTIMEFORMAT\" ]
    then export HISTTIMEFORMAT=\"%F %T \"
    fi' >> "$path""
done
" > /etc/temp/script.sh'
drkbr07n

drkbr07n1#

这样做:

sudo tee -a /home/*/.bashrc > /dev/null << 'EOF'
if [ -z "$HISTTIMEFORMAT" ]
then export HISTTIMEFORMAT='%F %T'
fi
EOF

相关问题