Lihatlah tes. -d akan memeriksa apakah argumennya adalah direktori, -f untuk file. Jadi dalam skrip dapat memiliki sesuatu seperti jika [-f "$ 1"]; lalu kurang dari "$ 1"; elif [-d "$ 1"]; lalu ls "$ 1"; fi. Meskipun saya yakin ada kesalahan di sana karena saya tidak banyak menggunakan skrip ,, cukup tambahkan ke file, dengan shebang, dan buat executable ..
Guy
Jawaban:
1
Hal dasar yang Anda inginkan mungkin terlihat seperti ini:
function my_less(){
obj=$1
shift
test -d $obj && ls $obj $@
test -f $obj && less $obj $@}
Kemudian
my_less thing
akan melakukan lsatau lesstergantung pada jenisnya.
The obj=$1diperebutkan argumen pertama ke fungsi. The shiftpergeseran argumen yang tersisa "ke kiri" dan $@adalah daftar argumen saat ini.
Jika Anda ingin memiliki beberapa pemrosesan sakelar yang belum sempurna, Anda dapat memperluas fungsi ini seperti ini:
function my_less(){
switches=
obj=while truedocase $1 in-*)
switches="$switches $1"
shift;;*)
obj=$1
shiftbreak;;esacdone
test -d $obj && ls $switches $obj $@
test -f $obj && less $switches $obj $@}
Ini akan mengumpulkan semua sakelar utama dan disetel objke sakelar non-sakelar pertama. Ini, akan sering melakukan hal yang salah, tetapi itu hanya saran untuk langkah selanjutnya.
Jawaban:
Hal dasar yang Anda inginkan mungkin terlihat seperti ini:
Kemudian
akan melakukan
ls
atauless
tergantung pada jenisnya.The
obj=$1
diperebutkan argumen pertama ke fungsi. Theshift
pergeseran argumen yang tersisa "ke kiri" dan$@
adalah daftar argumen saat ini.Jika Anda ingin memiliki beberapa pemrosesan sakelar yang belum sempurna, Anda dapat memperluas fungsi ini seperti ini:
Ini akan mengumpulkan semua sakelar utama dan disetel
obj
ke sakelar non-sakelar pertama. Ini, akan sering melakukan hal yang salah, tetapi itu hanya saran untuk langkah selanjutnya.sumber