Pytania otagowane jako basename

3
shellcheck odradza korzystanie z basename: dlaczego?
Próbuję sprawdzić shellcheck . Mam coś takiego basename "${OPENSSL}" i otrzymuję następującą sugestię Use parameter expansion instead, such as ${var##*/}. Z praktycznego punktu widzenia nie widzę różnicy $ export OPENSSL=/opt/local/bin/openssl $ basename ${OPENSSL} openssl $ echo ${OPENSSL##*/} openssl Ponieważ basenamejest to specyfikacja POSIX , nie mam powodu, dla którego powinna …

4
dirname i basename vs interpretacja parametrów
Czy istnieje obiektywny powód, aby preferować jedną formę od drugiej? Wydajność, niezawodność, przenośność? 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" Produkuje: /some/long/path/to /some/long/path/to a_file a_file (v1 używa rozszerzenia parametrów powłoki, v2 używa zewnętrznych plików binarnych.)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.