请教Linux shell命令中双引号与单引号嵌套的问题

说白了,在Linux上改shell并不难,但是有几个关键点很容易出问题。

我们先来说说最重要的事情。
使用 echo $0 显示当前 shell。
这是非常基本的。
但在我们去年做的一个安全测试项目中;一个新手将 $0 误认为变量替换符号并写了错误的命令。
另一件事是文件/etc/shells是Shell的“ID库”。
使用cat /etc/shells直接查看。
然而,有一个重要的细节 - 如果该文件变成被动文件,chsh 可能会变得无效。
去年,我们服务器上的这个文件被恶意修改,导致几乎所有用户都无法运行新的 shell。

一开始我以为直接输入就可以更改新shell的名称,但后来我意识到这是错误的。
我必须使用 chsh -s /path/to/shell 中的完整路径。
例如,从 Bash 切换到 Zsh 时;我必须输入 chsh -s /bin/zsh。
很多人并不关心这个。

一个bug:使用chsh时不要移动你的手。
如果走错了,您将无法登录系统。
老实说,这是一个陷阱。

linux双引号里面能加双引号吗

要转义 C 中的字符,请使用 &9 2 ;" 放置双引号,使用 &9 2 ;&9 2 ; 放置反斜杠。
运行环境不支持。
外层使用单引号,内层使用双引号。
我自己称体重。

linux 中的单引号是什么

使用 Linux 单引号: 1 .字符串常量:直接打印。
特殊字符保持不变(例如 echo 'Hello,world!')。
版画 你好,世界! 2 .变量替换:变量名不被替换。
例如, echo 'Thevalueofvaris$var' 输出 Thevalueofvaris$var。
3 .命令替换:命令不执行。
例如,echo 'ls-l' 输出 ls-l 并且不列出目录内容。

单引号内不处理变量和命令,因此正确使用单引号和双引号非常重要。