如何script.sh使用以下命令在 Ubuntu 上创建文件。该脚本必须包含语法完全相同的命令,其中$符号作为变量和引号,如下所示:
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
Run Code Online (Sandbox Code Playgroud)
我知道如何创建空文件并使用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'
Run Code Online (Sandbox Code Playgroud)
像这样做:
sudo tee -a /home/*/.bashrc > /dev/null << 'EOF'
if [ -z "$HISTTIMEFORMAT" ]
then export HISTTIMEFORMAT='%F %T'
fi
EOF
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
122 次 |
| 最近记录: |