无法使用 sudo 创建目录
Cannot create directory with sudo
问题
为什么 sudo 无法创建目录并报错?
USER=ansible
AUTH_KEY_DIR="$(sudo -i -u ${USER} pwd)/.ssh"
AUTH_KEY_FILE="${AUTH_KEY_DIR}/.ssh/authorized_keys"
# ERROR >-bash: mkdir /home/ansible/.ssh: No such file or directory
sudo -i -u ${USER} "mkdir ${AUTH_KEY_DIR}" # <----- Error is caused here.
sudo -i -u ${USER} "touch ${AUTH_KEY_FILE}"
解决方案
sudo -i -u ${USER} /bin/bash -c "mkdir ${AUTH_KEY_DIR}"
qouting 太多了。 sudo
命令不会重新标记命令:
sudo -i -u ${USER} mkdir "${AUTH_KEY_DIR}"
不能用同样的方法创建目录运行ning:
"mkdir ${AUTH_KEY_DIR}"
将尝试找到名为 mkdir ${AUTH_KEY_DIR}
和 运行 的可执行文件。你想 运行 mkdir
带有参数 ${AUTH_KEY_DIR}
.
问题
为什么 sudo 无法创建目录并报错?
USER=ansible
AUTH_KEY_DIR="$(sudo -i -u ${USER} pwd)/.ssh"
AUTH_KEY_FILE="${AUTH_KEY_DIR}/.ssh/authorized_keys"
# ERROR >-bash: mkdir /home/ansible/.ssh: No such file or directory
sudo -i -u ${USER} "mkdir ${AUTH_KEY_DIR}" # <----- Error is caused here.
sudo -i -u ${USER} "touch ${AUTH_KEY_FILE}"
解决方案
sudo -i -u ${USER} /bin/bash -c "mkdir ${AUTH_KEY_DIR}"
qouting 太多了。 sudo
命令不会重新标记命令:
sudo -i -u ${USER} mkdir "${AUTH_KEY_DIR}"
不能用同样的方法创建目录运行ning:
"mkdir ${AUTH_KEY_DIR}"
将尝试找到名为 mkdir ${AUTH_KEY_DIR}
和 运行 的可执行文件。你想 运行 mkdir
带有参数 ${AUTH_KEY_DIR}
.