我正在尝试执行以下操作:
#!/bin/sh
ssh user@server "echo \"Test \n for newline\""
Run Code Online (Sandbox Code Playgroud)
这显示:
test \n for newline
Run Code Online (Sandbox Code Playgroud)
如何让 shell 将其解释\n为实际的换行符?
我有一个证书存储在单行的环境变量中,如下所示:
$EXAMPLE=-----BEGIN CERTIFICATE----- line1 line2 line3 etc.. -----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)
我如何从这个环境变量转到一个文件,其中所有行都转换为换行符,除了 -----BEGIN CERTIFICATE----- 和 -----END CERTIFICATE----- 部分?
我知道我可以这样做:
$ echo "$EXAMPLE" | tr ' ' '\n' > ca.pem
Run Code Online (Sandbox Code Playgroud)
它将把所有空格替换为换行符,但这将导致:
-----BEGIN
CERTIFICATE-----
line1
line2
line3
etc..
-----END
CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)
几乎就在那里......但是带有“-----”的 BEGIN 和 END 行不应中断。有人有一个干净的解决方案吗?无论是 sed、awk、grep 还是其他都没关系:)
谢谢!
我有一个bash脚本,我有一些字符串\n:
interfaces="auto lo\niface lo inet loopback\n\n..."
Run Code Online (Sandbox Code Playgroud)
然后我尝试将其写入interfaces文件,如下所示:
sudo bash -c "echo -e $interfaces > /etc/network/interfaces"
Run Code Online (Sandbox Code Playgroud)
我-e用来显示\n's但是如果我打开文件它没有正确显示但如果我只是将它输出到终端它的工作原理:
auto loniface lo inet loopbacknn...
在Python中定义类时,为什么类用法需要换行?尝试从字符串(python -c '....')运行python程序时,这有点烦人,因为我无法在同一行上定义和使用该类。有没有办法做到这一点?
例如,以下失败:
$ cat class_play.py
class ClassA(): pass; a = 3; print(a); print(ClassA)
$ class ClassA(): pass; a = 3; print(a); print(ClassA)
$ python class_play.py
3
Traceback (most recent call last):
File "class_play.py", line 1, in <module>
class ClassA(): pass; a = 3; print(a); print(ClassA)
File "class_play.py", line 1, in ClassA
class ClassA(): pass; a = 3; print(a); print(ClassA)
NameError: name 'ClassA' is not defined
Run Code Online (Sandbox Code Playgroud)
但是在换行中使用该类可以:
$ cat class_play.py
class ClassA(): pass; a = 3; print(a); …Run Code Online (Sandbox Code Playgroud)