Bir komut dosyasındaki kullanıcı adımı değişkenle nasıl değiştirebilirim?


9

Ev bilgisayarım için bir yükleme komut dosyası yapmak istiyorum ve daha esnek hale getirmek istiyorum.

Kullanıcı adımı mevcut kullanıcı değişkeniyle nasıl değiştirebilirim?

Örnek: download to: / home / THISUSER / İndirilenler /


2
Değişkeni $HOMEev ve $USERkullanıcı için kullanabilirsiniz :)
dadexix86

2
@ dadexix86 bir cevap da gönderebilirsiniz. Bu soru yorumlarda zaman kaybetmek için çok ucuz
Sergiy Kolodyazhnyy

@ Evet, ama bunun bir kopya olduğundan neredeyse eminim ve orijinalini arıyorum :)
dadexix86

İndirilenler klasörünün yalnızca İngilizce sistemlerde bulunduğunu unutmayın. Kullanıcı farklı bir yerelleştirme seçerse yeniden adlandırılabilirler.
Bayt Komutanı

indirme sadece örnek olarak yapıldı. Yüklendikten sonra dosyalar silinecek. Ancak yararlı bilgiler için teşekkürler
FixXxeR

Yanıtlar:


21

Değişkeni $HOMEev ve $USERkullanıcı için kullanabilirsiniz.

Daha sonra örneğiniz $HOME/Downloadsveya olabilir /home/$USER/Downloads.


10
Tüm sistemler ev dizinleri için / home komutunu kullanmaz, bu nedenle en iyi uygulama, home dizinine başvuruyorsanız $ HOME kullanmaktır.
asmeurer

3
@asmeurer sadece Ubuntu ve resmi türevlerle ilgileniyoruz. Hangi varsayılan sürüm / home kullanmaz?
Rinzwind

4
Bu sitenin sadece Ubuntu ile ilgili olması, taşınabilir kod yazmaktan ve en iyi uygulamaları kullanmaktan kaçınmanız gerektiği anlamına gelmez.
asmeurer

15

Bunu yapmak istiyorsanız şunu kullanmalısınız ...

more ~/.config/user-dirs.dirs
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
# 
XDG_DESKTOP_DIR="/discworld/Desktop"
XDG_DOWNLOAD_DIR="/discworld/Downloads"
XDG_TEMPLATES_DIR="/discworld/Templates"
XDG_PUBLICSHARE_DIR="/discworld/Public"
XDG_DOCUMENTS_DIR="/discworld/Documents"
XDG_MUSIC_DIR="/discworld/Music"
XDG_PICTURES_DIR="/discworld/Pictures"
XDG_VIDEOS_DIR="/discworld/Videos"

yani bu olur

echo $(xdg-user-dir DOWNLOAD)

ve varsayılan indirme konumunu gösterecektir (benim durumumda /discworld/Downloads). Tüm bu kelimeler için çalışır. Sevmek ...

echo $(xdg-user-dir DESKTOP)

Bu gerçek evrensel yoldur, her zaman işe
yarar

Sadece xdg-user-dir DOWNLOADyazdırmak istiyorsanız. : P
kos

Ne morezaman yapılır !isatty(stdin)?
kedi

@JacobVlijm xdg-user-dirs yüklü olmayan sistemler var. Muhtemelen Ubuntu altında daha az, ancak $ HOME ve $ USER kullanmaktan kesinlikle daha az evrensel.
jazzpi

@jazzpi Ask Ubuntu'da olduğumuzdan , yukarıdaki kullanıcı dizinleri soru kapsamındaki evrenseldir, ancak '$ HOME / Downloads' kesinlikle değildir.
Jacob Vlijm
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.