perintah layar dipanggil dari dalam skrip, di dalam perintah "su -c" membuat file pada direktori root

0

Saya mengeksekusi skrip ini dari root pengguna di direktori "/":

su -c "sh /home/bob/start_server.sh" bob

dan "start_server.sh" berisi

screen -d -m -S serverscreen mono startserver.exe

Namun semua file yang dibuat oleh "startserver.exe" dibuat di direktori root "/", jadi gagal diam-diam (saya kira karena masalah izin karena berfungsi jika saya cd ke "/ home / bob" sebelum memanggil "u -c "baris perintah)

Saya memeriksa manual untuk perintah "su", tetapi saya tidak menemukan petunjuk di sana.

Mungkinkah "layar" me-reset direktori saat ini dan mengeksekusi dari "/" bukannya "/ home / bob"?

NaturalBornCamper
sumber
1
Saya tidak terbiasa dengan mono tetapi apakah ini berhasil? screen -d -m -S serverscreen bash -c 'cd / home / bob; mono startserver.exe '
HoD
Ya ini berfungsi, sama seperti jika saya cd ke direktori pengguna dalam file skrip. Saya mencoba membuatnya bekerja hanya dengan satu perintah;)
NaturalBornCamper