GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mendapatkan nama pengguna di Makefile?

Nah, jika Anda menginginkan file itu selama runtime, saya sarankan Anda membuatnya selama runtime. Makefile dianggap hanya selama waktu kompilasi. Ini jelas menjadi masalah jika program dikompilasi dan kemudian dijalankan oleh pengguna yang berbeda, beberapa di antaranya bahkan mungkin tidak ada pada waktu kompilasi.

Selama runtime Anda bisa mendapatkan direktori home seperti yang ditunjukkan di sini (jika Anda menggunakan C/C++). Kemudian Anda dapat memeriksa keberadaan folder/file skor tinggi dan membuatnya jika perlu. Jika Anda menginginkan file highscore untuk semua pengguna, Anda harus meletakkannya di direktori home dari pengguna khusus, melainkan di tempat lain di sistem file. Ini misalnya dilakukan oleh game xjump.

Dan tentang Makefile Anda, variabel $USER diterjemahkan ke root karena sudo perintah pada

sudo buat instal

Pengguna yang sebenarnya menjalankan make adalah superuser:root.


Anda ingin menginstal program Anda untuk setiap pengguna? Jadi lebih baik jika Anda membuat /home/user/.game_name direktori saat pengguna menjalankan game, bukan saat root menginstalnya. Sebaliknya, hanya pengguna yang memanggil sudo make install akan memiliki daftar skor tertinggi. Jika Anda hanya memiliki satu pengguna, jangan menginstalnya di seluruh sistem, tetapi di direktori pengguna.

Saya menyarankan untuk menginisialisasi file pengguna pada permainan pertama kali dijalankan. Jadi setiap pengguna, bahkan pengguna yang tidak ada saat game diinstal, dapat memiliki daftar skor tertinggi mereka. Anda dapat menambahkan kode inisialisasi ke dalam gim Anda (c++, java, atau apa pun) atau cukup panggil skrip eksternal yang melakukannya (tidak terlalu elegan). Hindari untuk membuat file terkait pengguna pada waktu penginstalan.


Linux
  1. Cara Mendaftar Pengguna di CentOS 7

  2. Linux – Bagaimana Cara Mendapatkan Nama Sistem Operasi yang Andal?

  3. Bagaimana Cara Mendapatkan Versi Ksh dengan Aman?

  1. Cara:Administrasi Pengguna FreeBSD

  2. Cara mendapatkan resolusi monitor atau nama monitor saat ini (LVDS, VGA1, dll)

  3. Bagaimana cara mendapatkan nama komputer (bukan nama hostnya)?

  1. Cara Membuat Banyak Akun Pengguna di Linux

  2. Cara Menemukan Semua Pengguna Sudo Di Linux

  3. Cara mendapatkan nama pengguna dari uid