我写了一个bash脚本,它应该将文件移动到远程服务器。 这是我的代码:
null
当我在root用户下运行此脚本时,它可以正常工作。但是当我在非root用户下运行此脚本时,#!/bin/sh
# ensure running as root
if [ "$(id -u)" != "0" ]; then
exec sudo "$0" "$@"
fi
cat <<EOF > /etc/name.txt
EOF
sshpass -p 'password' scp -r /etc/name.txt root@192.168.1.50:/etc/name.txt
部分不起作用。当我在这部分之后检查$ UID时:
scp
它显示if [ "$(id -u)" != "0" ]; then
exec sudo "$0" "$@"
fi
,$ USER是0
,这意味着用户已更改为root,但我不知道为什么它不起作用。有什么帮助吗?