我写了一个名为“drok”的脚本,将其放在 /etc/network/if-up.d/ 中,使其可执行并将所有权更改为 755。当我连接到 wifi 时,这个脚本应该作为一个整体执行。不幸的是,只有第一行代码被执行。所以我将“drok”复制为用户空间中的 drok.sh,并使用该行执行 drok.sh。然而,只有第一行代码被执行。如果我手动执行 drok.sh,一切都会正常进行。你知道如何解决这个问题吗?
答案1
我怀疑该问题与您以何种用户身份运行有关。尝试运行sudo ./drok.sh
并查看它是否有效以确认这一点。(您可能需要暂时删除您的&>/dev/null
s 以查看失败的原因)。如果这确实是问题所在,我可以想到两个可能的原因:
dropbox
可能不在根路径中。在这种情况下,请完全限定其路径。dropbox
可能期望以您而非 root 身份运行。在这种情况下,请尝试执行su - YOUR_USERNAME -c 'dropbox start'
而不是dropbox start
。