Pertanyaan yang diberi tag «variable»

Variabel adalah nama, jika dipilih dengan benar dengan makna simbolis, yang memiliki nilai atau nilai. Gunakan tag ini jika pertanyaan Anda spesifik pada penggunaan variabel pada skrip shell (jika Anda ingin bertanya tentang variabel dalam bahasa pemrograman Anda mungkin harus bertanya pada StackOverflow)

2
Bagaimana cara memasukkan variabel ke dalam string yang berisi ""?
Saya ingin membuat string xml dengan memasukkan variabel: str1="Hello" str2="world" xml='<?xml version="1.0" encoding="iso-8859-1"?><tag1>$str1</tag1><tag2>$str2</tag2>' echo $xml Hasilnya seharusnya <?xml version="1.0" encoding="iso-8859-1"?><tag1>Hello</tag1><tag2>world</tag2> Tapi yang saya dapatkan adalah: <?xml version="1.0" encoding="iso-8859-1"?><tag1>$str1</tag1><tag2>$str2</tag2> Saya juga mencoba xml="<?xml version="1.0" encoding="iso-8859-1"?><tag1>$str1</tag1><tag2>$str2</tag2>" Tetapi itu menghilangkan kutip ganda dalam dan memberi: <?xml version=1.0 encoding=iso-8859-1?><tag1>hello</tag1><tag2>world</tag2>
25 bash  shell  variable  xml 



5
Mengapa menggunakan kutip ganda dalam tes [[]]?
Katakanlah kita memiliki 2 bilangan bulat dalam skrip bash: value1=5 value2=3 Lalu mengapa kita perlu menggunakan tanda kutip ganda untuk ujian? Sebagai contoh: if [[ "$value1" -eq "$value2" ]] Mengapa tidak menggunakan saja yang berikut ini? if [[ $value1 -eq $value2 ]] Bagi saya, tanda kutip ganda tidak masuk akal.
23 bash  shell  quoting  variable  test 



2
Mengatur variabel shell dengan cara penggabungan nol
Saya benar-benar menyukai "null coalescing", di mana Anda dapat mengatur variabel ke nilai "non-null" pertama dalam daftar hal-hal. Banyak bahasa mendukung ini, misalnya: C #: String myStr = string1 ?? string2 ?? "default"; JavaScript: var myStr = string1 || string2 || "default"; ... dll. Saya hanya ingin tahu apakah ini …
20 bash  shell  variable 

4
dirname dan nama dasar vs perluasan parameter
Apakah ada alasan obyektif untuk lebih menyukai satu formulir daripada yang lain? Kinerja, keandalan, portabilitas? filename=/some/long/path/to/a_file parentdir_v1="${filename%/*}" parentdir_v2="$(dirname "$filename")" basename_v1="${filename##*/}" basename_v2="$(basename "$filename")" echo "$parentdir_v1" echo "$parentdir_v2" echo "$basename_v1" echo "$basename_v2" Menghasilkan: /some/long/path/to /some/long/path/to a_file a_file (v1 menggunakan ekspansi parameter shell, v2 menggunakan binari eksternal.)



5
Pipe memberikan variabel
Untuk kesederhanaan, saya ingin melakukan: echo cart | assign spo; echo $spo Output: kereta Apakah assignaplikasi semacam itu ada? Saya menyadari semua cara untuk melakukan ini menggunakan subtitusi.
19 bash  variable 

3
Menggunakan variabel shell untuk opsi perintah
Dalam skrip Bash, saya mencoba untuk menyimpan opsi yang saya gunakan rsyncdalam variabel yang terpisah. Ini berfungsi dengan baik untuk opsi sederhana (seperti --recursive), tapi saya mengalami masalah dengan --exclude='.*': $ find source source source/.bar source/foo $ rsync -rnv --exclude='.*' source/ dest sending incremental file list foo sent 57 bytes …
19 bash  variable 

1
Mengapa $ {$ #} mengembalikan hasil yang sama dengan $$ di shell?
Ketika mencoba untuk mendapatkan set parameter posisi terakhir /bin/dash, saya sudah mencoba echo ${$#}. Anehnya ini tidak menghasilkan kesalahan, tetapi menjadi PID yang sama dengan $$konten variabel. Pertanyaan, mengapa sintaks itu berfungsi? Apa aturan sintaks yang diterapkan shell di sini? Pada dasarnya, apa yang saya lakukan adalah $ set 1 …
18 shell  variable 

3
Mengapa opsi dalam variabel yang dikutip gagal, tetapi berfungsi saat tidak dikutip?
Saya membaca bahwa saya harus mengutip variabel dalam bash, misalnya "$ foo", bukan $ foo. Namun, saat menulis skrip, saya menemukan sebuah kasus di mana ia bekerja tanpa tanda kutip tetapi tidak dengan mereka: wget_options='--mirror --no-host-directories' local_root="$1" # ./testdir recieved from command line remote_root="$2" # ftp://XXX recieved from command line …

6
Haruskah variabel dikutip ketika dieksekusi?
Aturan umum dalam skrip shell adalah bahwa variabel harus selalu dikutip kecuali ada alasan kuat untuk tidak melakukannya. Untuk perincian lebih dari yang mungkin ingin Anda ketahui, lihat T&J besar ini: Implikasi keamanan lupa mengutip variabel dalam bash / POSIX shells . Namun pertimbangkan fungsi seperti berikut: run_this(){ $@ } …

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.