Может казаться, не создает файл в ударе

Я пытаюсь использовать это (в соответствии с корневой учетной записью) код в debian 7.

#!/bin/bash

cat > /root/.ssh/github.id_rsa << EOF
-----BEGIN RSA PRIVATE KEY-----
XYZ...
-----END RSA PRIVATE KEY-----
EOF
chmod 600 /root/.ssh/github.id_rsa

То, когда я перешел к этой папке впоследствии, это, говорит мне, что это не существует. Я проверил и проверил дважды, но не могу разработать то, что я делаю неправильно.

Править: Когда я выполняю команду вручную, это, кажется, работает! Но я пытаюсь выполнить это как часть сценария оболочки.

0
задан 4 February 2015 в 16:27
1 ответ

Папка .ssh , вероятно, не существовала / не существовала при первом запуске команды. Самый безопасный вариант - добавить команду перед cat , которая проверяет / создает папку:

#!/bin/bash

mkdir -p /root/.ssh

chmod 700 /root/.ssh
cat > /root/.ssh/github.id_rsa << EOF
<some content>
EOF
chmod 600 /root/.ssh/github.id_rsa
2
ответ дан 4 December 2019 в 13:52

Теги

Похожие вопросы