Pertimbangan untuk menggunakan direktori `/ tmp` pada sistem multi-pengguna


3

Karena saya telah belajar lebih banyak tentang Ubuntu dan pemrograman bash saya telah menyimpan variabel dalam /tmp. Misalnya panggilan di antara skrip bash yang sama saya ingin merekam keadaan sebelumnya.

Pada sistem pengguna tunggal saya saat ini, tidak ada bahaya konflik dalam /tmpdirektori. Namun saya ingin kode saya menjadi bukti masa depan dan bertanya-tanya apakah saya harus terbiasa menggunakan direktori yang disebut ~/tmp?

Mungkin itu harus ~/.tmpdan disembunyikan. Mungkin seharusnya ~/temptidak menjadi bingung dengan /tmpdirektori konvensional .

Ada ide / saran yang dihargai. Terima kasih.


Saya lebih suka menggunakan /tmptetapi memberi nama file dengan beberapa keacakan melekat pada nama file. head /dev/urandom | tr -dc A-Za-z0-9 | head -c 13 ; echo ''Saya yakin ini memiliki set peringatan sendiri.

Saya menggunakan nama tetap yang dikodekan dalam skrip. yaitu /tmp/lock-screen-timer-remainingyang berisi satu baris dengan "30 menit", "29 menit" ...
— WinEunuuchs2Unix

Minimal, Anda bisa menggunakan $$variabel dalam bashskrip sebagai bagian dari file, karena ID proses Anda harus unik dalam sistem yang sedang berjalan. Atau buat direktori pengguna di /tmp. Keuntungan dari /tmpdirektori adalah bahwa itu dikosongkan saat reboot ketika dikonfigurasi dengan benar.
— ridgy

@ridgy ID proses akan berubah setiap kali skrip dipanggil. Skrip lain yang membaca status memerlukan nama file statis untuk dibuka. Saya suka ide Anda untuk membuat direktori pengguna di dalam /tmptahukah Anda apakah itu praktik umum?
— WinEunuuchs2Unix

Dengan asumsi kita berbicara tentang beberapa Ubuntu saat ini, lihat saja / tmp ( ls -l /tmp), untuk melihat aplikasi apa yang dilakukan (semua direktori yang dimiliki oleh Anda dibuat untuk Anda, dan beberapa akan memiliki nama pengguna Anda dalam nama direktori ...)
— ridgy

Jawaban:


1

Umumnya jika Anda ingin menyimpan status untuk setiap pengguna, cara termudah adalah dengan hanya membuat direktori khusus untuk aplikasi di direktori home pengguna:

CFGDIR="${HOME}/.mycoolapp"
mkdir -p ${CFGDIR}
# read / write files in ${CFGDIR} here..

Jika Anda hanya ingin penyimpanan sementara untuk satu contoh skrip, pendekatan yang baik adalah dengan menggunakan mktemp. Sebagai contoh:

TMPDIR="$(mktemp -d)"
# read / write files in ${TMPDIR} here..
rm -rf ${TMPDIR}

Selamat Datang di Tanya Ubuntu. Selamat atas jawaban pertama Anda. Terkemuka jawaban pertama atas pertanyaan yang berumur dua setengah bulan :)
— WinEunuuchs2Unix

Terima kasih @ WinEunuuchs2Unix - ya saya juga terkejut melihat tidak ada jawaban untuk yang satu ini.
— d99kris
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.