Bir kabuk komut dosyası yazıyorum ve belirli bir uzantıya sahip geçici bir dosya oluşturmam gerekiyor. İlk bir hazır "XXXXXX" ile bir dosya adı oluşturur ve ikinci bir için bir seçenek vermez gibi ben ne iş Bash'da belirli bir uzantıya sahip nasıl geçici dosya oluşturabilirim?
tempname=`basename $0`
TMPPS=`mktemp -t ${tempname}` || exit 1
tempname=`basename $0`
TMPPS=`mktemp /tmp/${tempname}.XXXXXX.ps` || exit 1
ve
denedimuzantı.
Önizlemenin dosyayı açmayı reddetmesi için uzantıya ihtiyacım var.
Düzenleme: Ben umduğumuz pid ve mktemp kombinasyonu ile gidiş sona erdi güvenlidir:
tempname=`basename $0`
TMPTMP=`mktemp -t ${tempname}` || exit 1
TMPPS="$TMPTMP.$$.ps"
mv $TMPTMP $TMPPS || exit 1
Bu hizmet reddi saldırısı karşı savunmasız, ama hiçbir şey düşünmüyorum daha şiddetli. mktemp teklif --suffix ait
: * BSD * Mac OSX içinde mktemp var Bu seçenek, en azından 10.11'de değil. – Jokester
@ Jokester'ın adı yalan değil. Ve bu demek oluyor ki OSX/macOS * 10 * 'dan *. –
@CharlieGorichanaz Benim kötü. Sanırım "Bu seçenek yok" yazmaya çalışıyorum, çünkü OSX'deki betiğimi bu fark için hata ayıklamayı hala hatırlıyorum :(. – Jokester