Użyj "EOF", może zachować wcięcie, ale nie może wyjaśnić zmiennych

[root@master ~]# registry=10.105.100.4/library
[root@master ~]# cat > /etc/sysconfig/kubelet << 'EOF'
> KUBELET_EXTRA_ARGS=--pod-infra-container-image=${registry}/pause:3.1 \
>                    --runtime-cgroups=/systemd/system.slice --kubelet-cgroups=/systemd/system.slice \
>                    --feature-gates=LocalStorageCapacityIsolation=true \
>                    --kube-reserved-cgroup=/kubepods.slice --kube-reserved=cpu=500m,memory=500Mi,ephemeral-storage=1Gi \
>                    --system-reserved-cgroup=/system.slice --system-reserved=cpu=500m,memory=500Mi,ephemeral-storage=1Gi \
>                    --eviction-hard=memory.available<500Mi,nodefs.available<10% \
>                    --max-pods=250
> EOF
[root@master ~]# cat /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS=--pod-infra-container-image=${registry}/pause:3.1 \
                   --runtime-cgroups=/systemd/system.slice --kubelet-cgroups=/systemd/system.slice \
                   --feature-gates=LocalStorageCapacityIsolation=true \
                   --kube-reserved-cgroup=/kubepods.slice --kube-reserved=cpu=500m,memory=500Mi,ephemeral-storage=1Gi \
                   --system-reserved-cgroup=/system.slice --system-reserved=cpu=500m,memory=500Mi,ephemeral-storage=1Gi \
                   --eviction-hard=memory.available<500Mi,nodefs.available<10% \
                   --max-pods=250

Wystarczy użyć EOF, może interpretować zmienne, ale nie może trzymać wcięcia,

[root@master ~]# registry=10.105.100.4/library
[root@master ~]# cat > /etc/sysconfig/kubelet << EOF
> KUBELET_EXTRA_ARGS=--pod-infra-container-image=${registry}/pause:3.1 \
>                    --runtime-cgroups=/systemd/system.slice --kubelet-cgroups=/systemd/system.slice \
>                    --feature-gates=LocalStorageCapacityIsolation=true \
>                    --kube-reserved-cgroup=/kubepods.slice --kube-reserved=cpu=500m,memory=500Mi,ephemeral-storage=1Gi \
>                    --system-reserved-cgroup=/system.slice --system-reserved=cpu=500m,memory=500Mi,ephemeral-storage=1Gi \
>                    --eviction-hard=memory.available<500Mi,nodefs.available<10% \
>                    --max-pods=250
> EOF

[root@master ~]# cat /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS=--pod-infra-container-image=10.105.100.4/library/pause:3.1                    --runtime-cgroups=/systemd/system.slice --kubelet-cgroups=/systemd/system.slice                    --feature-gates=LocalStorageCapacityIsolation=true                    --kube-reserved-cgroup=/kubepods.slice --kube-reserved=cpu=500m,memory=500Mi,ephemeral-storage=1Gi                    --system-reserved-cgroup=/system.slice --system-reserved=cpu=500m,memory=500Mi,ephemeral-storage=1Gi                    --eviction-hard=memory.available<500Mi,nodefs.available<10%                    --max-pods=250
[root@master ~]# 

Czy jest jakiś sposób, aby obali się w tym samym czasie?

0
will 29 listopad 2019, 06:42

1 odpowiedź

Najlepsza odpowiedź

Musisz uciec od odwrotnych ukośników na końcu linii (przetestowane z bash i ZSH; zakładam, że inne skorupy są podobne):

$ cat > foo.txt <<EOF
line 1 \\
 line 2
EOF
$ cat foo.txt
line 1 \
 line 2
1
Shawn 29 listopad 2019, 05:05