Kadang-kadang beberapa tutorial bertujuan untuk menerangkan arahan yang lebih eksotik dan aneh, sebaliknya, ada beberapa yang merangkumi pengedaran bersiri dan tidak begitu popular seperti cd, ls, cat, dan lain-lain, tetapi sama praktikalnya. Dalam tutorial ini saya akan menunjukkan kepada anda apa yang dapat dilakukan dengan dua perintah tersebut: nama asas dan beritahu saya.
Mungkin a priori mereka kelihatan tidak masuk akal bagi anda dan bahawa mereka tidak ada gunanya, tetapi mereka ada aplikasi yang cukup praktikal dalam beberapa kes, seperti, misalnya, dalam skrip di mana anda perlu mengekstrak beberapa bahagian jalan, seperti nama fail atau direktori sehingga perintah lain beroperasi pada ini ...
Untuk apa mereka
Perintah ini sangat asas, dan fungsinya bunyi:
- nama asas: digunakan untuk mengekstrak nama fail dari jalan.
- nama panggilan: digunakan untuk mengekstrak nama direktori dari jalan.
Contoh penggunaan
Di sini anda dapat melihat beberapa contoh cara menggunakannya:
- Contohnya, untuk digunakan nama asas dengan / etc / passwd, dan bahawa ia mengembalikan nama fail dalam outputnya, dalam hal ini passwd:
basename /etc/passwd
- Anda juga boleh menentukan lanjutan sehingga memberi anda nama fail tanpa sambungan. Sebagai contoh, andaikan anda ingin mengekstrak nama gambar /home/media/test.jpg tanpa pelanjutan jpg (ia akan kembali prueba):
basename -s .jpg /home/media/prueba.jpg
- Anda juga boleh memproses pelbagai laluan sekaligus secara berasingan, untuk ini anda mesti menggunakan pilihan -a:
basename -a /etc/passwd /var/log/boot.log
- Untuk melakukan sebaliknya, dan memberi anda nama direktori, tanpa nama fail, maka anda harus menggunakan nama panggilan. Sebagai contoh, jika anda ingin menggunakannya di jalan /var/spool/mail/test.txt dan memilikinya kembali / var / spool / mail, kemudian gunakan:
dirname /var/spool/mail/prueba.txt
Mengenai a utiliti dalam skrip, di sini anda mempunyai contoh lain. Bayangkan bahawa anda mempunyai skrip yang mudah, dan di dalamnya terdapat jalan yang berubah-ubah. Tetapi anda mahu menunjukkan direktori yang mengandungi fail, tanpa mengira failnya, sekiranya anda mempunyai sesuatu seperti:
pathname="/home/usuario/data/fichero" result=$(dirname "$pathname") echo $result
Jelas, dalam skrip ini "pathname" akan selalu sama dengan statik yang dinyatakan oleh pemalar pada awalnya, tetapi mungkin ada kes di mana tidak, dan di situlah ia menjadi praktikal. Sebagai contoh:
/*script para convertir una imagen gif en png*/ #!/bin/sh for file in *.gif;do #Salir si no hay ficheros if [! -f $file];then exit fi b='basename $file .gif' echo NOW $b.gif is $b.png giftopnm $b.gif | pnmtopng >$b.png done
Contoh yang baik dari perkara-perkara yang semasa anda belajar anda nampak tidak berguna, tetapi apabila anda sampai ke subjek anda dapat melihat betapa praktikalnya.