我对引用变量的双引号的含义感到困惑。例如,以下两个脚本给出了相同的输出。双引号的真正含义是什么?
脚本1
getent passwd | while IFS=: read a b c d e f ; do
echo login "$a" is "$d"
done
Run Code Online (Sandbox Code Playgroud)
脚本 2
#! /bin/sh
getent passwd | while IFS=: read a b c d e f ; do
echo login $a is $d
done
Run Code Online (Sandbox Code Playgroud) 我需要将以“foo”开头的文件名重命名为“boo”
这是我使用的脚本
#!/bin/sh
for f in *.jpg;
do
mv -- "{$f}" "${f/foo/boo}";
done
Run Code Online (Sandbox Code Playgroud)
但是当我运行时,我得到了一个糟糕的替换错误。我的代码有什么问题?
为什么 Linux 发行版要提前安装 gcc?是不是因为linux中的大部分应用程序都是用C编写的?
如果删除 gcc 目录会发生什么?