매개 변수 확장을 사용하여 패턴 일치 연산자를 결합 할 수 있습니까? 예를 들어 변수가 test=/home/archie/.vimrc.bak 인 경우 나는 echo ${test##*/}와 $test의 시작 부분에서 가장 긴 경기를 삭제할 수 있습니다 >> echo ${test##*/}
.vimrc.bak
가 나는 또한 echo ${test%.*}와 $t
#====================script 5 -- ls reccurssive avec cd =======
#!/bin/bash
exec 2>/dev/null # redirige stderr pour toute la suite
# au cas ou le script est invoque sans argument $1
# n'existe pas
내 PERL5LIB 환경 변수 끝에 경로를 추가하려고하지만이 변수가 항상 존재하는지 확신 할 수 없습니다. 그것이 존재하지 않으면 단순히 내가 추가하려고하는 값으로 초기화하고 싶습니다. if ($?PERL5LIB) then
setenv PERL5LIB ${PERL5LIB}:/some/other/path
else
setenv PERL5LI
hashrate=${line//*:/}
hashrate=${hashrate//H\/s/}
내가이 정규식은 단일 명령으로 대체 통합하기 위해 노력하고있어, 무엇인가가 : hashrate=${line//*:\+/H\/s/}
그러나,이 마지막 옵션이 작동하지 않습니다. 나는 또한 \|으로 시도했지만 작동하지 않는 것으로 보이며 bash 매뉴얼과 문서에서
저는 변수를 "slugify"하는 순수한 bash 솔루션을 사용하고 있습니다. slugify 63 바이트 단축 소문자 및 0-9 제외한 모든 대체와 A-Z로 -. 선행/후행 없음 -. URL 호스트 이름과 도메인 이름에 사용하기에 적합한 문자열이 결과입니다. .? -H %의 X oLazlarl (=; 'Effrafax_mUKwT'uP7 (Garkbit <
여기 bash에서 버그를 제안하는 모든 단계가 있습니다. 문제의 버전 및 플랫폼 정보 --> cat /etc/os-release
NAME="Ubuntu"
VERSION="14.04.5 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.5 LTS"
VERSION_ID="14.
작동하지 않습니다 당신이 기대하는 것처럼 a=$(echo "foo, bar")
echo ${a[(ws:, :)1]}
내가 foo를 얻을 수 (w는 s:, :가 , 될 수 있습니다 단어를 참조하는 인덱스의 원인 단어 분리 기호). 나는이 결합하려고하면 그러나 : echo ${$(echo "foo, bar")[(ws:, :)1]}
나는 foo, 얻을.
편집 : 단순히이 이미 gunzip 한하는 .gz SUBMIT joust_aallgeier_attempt_2015-11-12-20-37-40_project04.tar.gz
을 제거해야합니다. project.tar 출력이 필요합니다. 첫 번째 부분을 다음과 같이 제거했습니다. 배쉬의 Parameter Expansion와 filename=${j##*_}