Saya punya skrip:
#!/bin/bash
echo "$(dirname $(readlink -e $1))/$(basename $1)"
yang ada di sini: /home/myuser/bin/abspath.sh
yang telah menjalankan izin.
Jika saya menjalankan echo $PATH
saya mendapatkan yang berikut:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/myuser/bin
Saya ingin dapat, dari direktori mana pun, menelepon abspath <some_path_here>
dan itu memanggil skrip saya. Saya menggunakan bash, apa yang saya lakukan salah?
linux
shell
shell-scripting
Cheetah
sumber
sumber
cd $HOME/bin ; ln -s abspath.sh abspath
. Ini memungkinkan Anda menyimpan ekstensi yang benar untuk skrip dan memiliki alat bernama yang Anda suka. (Anda bisa menggunakan futur, ganti skrip shell Anda dengan skrip python, misalnya ...)Kode ini cukup kecil sehingga saya akan mengkodekannya sebagai fungsi shell:
Dan ya Anda memang ingin semua kutipan itu.
sumber
atur alias dengan menambahkan perintah Anda di file .bashrc.
Dan jangan lupa untuk sumber file.
sumber
Saya akan mengganti nama skrip bash Anda untuk
abspath
kemudian memindahkannya kebin
direktori. Anda akan dapat meneleponabspath
dari mana saja saat itusumber
Opsi ke-3 adalah membuat alias bernama abspath yang mengarah ke skrip abspath.sh Anda.
sumber