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.