Pertanyaan yang diberi tag «shell»

Shell adalah antarmuka baris perintah Unix. Anda dapat mengetik perintah dalam shell secara interaktif, atau menulis skrip untuk mengotomatiskan tugas. Gunakan tag ini untuk pertanyaan yang berlaku pada / bin / sh dan sebagian besar shell yang kompatibel (abu, bash, ksh, zsh, ...). Untuk skrip shell dengan kesalahan, silakan periksa di http://shellcheck.net sebelum memposting di sini.


1
Mengapa / etc / shadow memperpendek kata sandi yang telah saya atur dengan perintah: useradd -p?
[root@P-dude dude]# useradd -p $6$Ic2PVlwi$2nf.IRWTMy0FHrPzaCjkahfu9IIxnzxPZL7yg8SsvOdbjEpoI0G8uy7AqduYKQOn2R/rnnaalRmfPMy.a0 bwong20 [root@P-dude dude]# cat /etc/shadow | grep pswayze pswayze:nf.IRWTMy0FHrPzaCjkahfu9IIxnzxPZL7yg8SsvOdbjEpoI0G8uy7AqduYKQOn2R/rnnaalRmfPMy.a0:16924:0:99999:7::: Saya tidak yakin mengapa sistem menghapus empat belas karakter pertama dari kata sandi terenkripsi saya. Kata sandi dalam /etc/shadowfile saya lebih pendek dari yang saya berikan sebagai argumenuseradd -p
21 shell  useradd 

2
Apakah ada cara POSIX mengatur argumen nol dari aplikasi target?
Di dalam bashAnda dapat menggunakan exec -adan di dalam zshAnda juga dapat mengatur ARGV0untuk menjalankan program dengan argumen nol tetapi apakah ada juga cara POSIX untuk melakukannya? Seperti yang disarankan dalam komentar ini, Anda dapat membuat tautan simbolis (sementara) untuk mencapai ini, tetapi dengan cara ini saya tidak dapat menetapkan …

2
Memeriksa nilai variabel lingkungan di Makefile
Saya memiliki target Makefile, di mana saya harus memeriksa nilai variabel lingkungan. Tapi, saya tidak mendapatkan sintaks yang tepat. Berusaha keras, tetapi tidak dapat menemukannya. Bantuan apa pun dihargai. Nama variabel lingkungan: TEST, nilainya: "TRUE" test_target: ifeq ($(TEST),"TRUE") echo "Do something" endif Saya mendapatkan kesalahan berikut: /bin/sh: -c: line 0: …
21 shell  make 

3
Apakah aman untuk mengetik perintah lain ke dalam STDIN ketika perintah sebelumnya menulis ke STDOUT?
Mungkin ini sudah dijawab sebelumnya, saya akan menyambut tautan ke jawaban lain ... Jika saya menjalankan perintah shell (di bashshell) seperti berikut: make Kemudian ketika output dari makesedang bergulir dari STDOUTdari makeperintah, jika saya mengetik make checkdan tekan entersebelum perintah pertama selesai dieksekusi, ketika makeperintah akhirnya selesai, perintah selanjutnya make …
21 bash  shell  stdout  stdin 


6
Apakah ada cara sederhana lain untuk menambahkan baris ke ujung file selain `>>`?
Baru-baru ini saya menggemakan kalimat pendek ke tree_holefile. Saya menggunakan echo 'something' >> tree_holeuntuk melakukan pekerjaan ini. Tetapi saya selalu khawatir bagaimana jika saya salah memasukkan >bukan >>, karena saya sering melakukan ini. Jadi saya membuat fungsi bash global saya sendiri di bashrc: function th { echo "$1" >> /Users/zen1/zen/pythonstudy/tree_hole; …

5
skrip bash [x $ 1 = x]
Saya membaca skrip bash, saya tidak mengerti apa yang sedang terjadi di sana. #!/bin/sh [ x$1 = x ] Apa yang terjadi pada baris kedua dan apa [ x$1 = x ] artinya?
21 bash  shell 


6
Mendapatkan tautan relatif antara dua jalur
Katakanlah saya punya dua jalur: <source_path>dan <target_path>. Saya ingin shell saya (zsh) secara otomatis mencari tahu apakah ada cara untuk mewakili <target_path>dari <source_path>sebagai jalur relatif. Misalnya, mari kita asumsikan <source_path> aku s /foo/bar/something <target_path> aku s /foo/hello/world Hasilnya adalah ../../hello/world Mengapa saya membutuhkan ini: Saya perlu ingin membuat symbolic link …
21 shell  files  zsh  symlink 

4
membagi garis panjang pada pembatas
Perintah apa yang dapat saya gunakan untuk membagi input seperti ini: foo:bar:baz:quux dalam hal ini? foo bar baz quux Saya mencoba mencari tahu cutperintahnya tetapi sepertinya hanya berfungsi dengan jumlah input tetap, seperti "1000 karakter pertama" atau "7 bidang pertama". Saya perlu bekerja dengan input panjang yang sewenang-wenang.

1
Mengapa 'menemukan' tidak memperlihatkan file ini?
Menggunakan finddengan grep, satu dapat menemukan file yang cocok dengan pola: # find | grep error ./solr-modifiedSolr4/SolrPhpClient/phpdocs/errors.html ./error_log ./includes/classes/error_log Namun, menggunakan findsendiri file pertama tidak ditemukan: # find . -name error* ./error_log ./includes/classes/error_log Mengapa tidak findmencari errors.htmlfile saat tidak digunakan dengan grep? Bagaimana cara finddigunakan untuk menampilkan file ini juga?

1
Butuh waktu lama di direktori kecil
Menjalankan Ubuntu, saya membuka terminal dan lakukan sudo bash cd / ls | head -n 1000 Dan diprediksi sekitar 20 direktori dikembalikan. Namun, jika saya melakukan ls, dan tidak menyalurkannya ke apa pun, ls hanya menggantung di sana sampai saya membunuhnya dari terminal lain. Apa yang mungkin terjadi? EDIT: > …
21 shell  command-line  files  ls 

4
Bagaimana memahami pipa
Ketika saya hanya menggunakan pipa di bash, saya tidak memikirkan hal ini. Tetapi ketika saya membaca beberapa contoh kode C menggunakan system call pipe () bersama dengan fork (), saya bertanya-tanya bagaimana memahami pipa, termasuk pipa anonim dan pipa bernama. Sering terdengar bahwa "semua yang ada di Linux / Unix …


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.