2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
$
$()
ConsuetudinemVariationes singulares testae, in scriptis et functionibus adhibitae, ut ambitum efficiant.
Sunt sequentes variabiles moduli speciales positionales:
variabilis | effectus |
---|---|
$0 | Accipere testa scriptor lima nomen et scriptor iter |
$n | Nth parametrum conchae scripturae obtine n{} ,sicut{$10} |
$# | Get numerus parametri post supplicium testa script |
$* | Omnes scripturae parametri parametri, sine virgulis, aequivalet$@ Munus, plus quam auctoritas notarum "$*", isAccipit omnes parametri ut una chorda |
$@ | Sine notis, effectus idem est quod supraAccipite omnes parametri ut independens chordas |
Quaerere modum:man bash
,QuaerereSpecial Parameters
variabilis | effectus |
---|---|
$? | Redi valorem ultimi mandati executionis status, 0 verum est, non-0 est defecit |
$$ | Processus numerus current testa scriptor |
$! | PID de ultimo background processum |
$_ | Get ultimum parametri ad ultimum imperium |
-n
: Output content sine linea frangit-e
: Interpretare mores effugium n
: newliner
: Intrat
tabb
: backspacev
: Vertical tab charactereval ls; cd ~
exec
Post executionem automaticeexit
grammatica:
grammatica | effectus |
---|---|
# | Par brevissimum remove ab initio |
## | Remove par longissimum ab initio |
% | Par brevissimam removere a fine |
%% | Longissimum par removere a fine |
# | Interceptio certa ratione contentus |
a*c | Par filo incipiens cum a, quotcunque notis in medio, et desinentibus cum c |
${变量} | Redi valorem variabilis |
${#变量} | Redi longitudo varia, indoles longitudo |
${变量:start} | Ad mores refert post valorem variabilis offset |
${变量:start:length} | Extract characteribus finitum est longitudinem post offset |
${变量#word} | Ab initio variabilis dele brevissimam adaptationem verbi substring |
${变量##word} | Ab initio variabilis, dele longissimum verbum congruens |
${变量%word} | Aufer brevissimam matching verbum substring ex fine variabilis |
${变量%%word} | Removere longissimum matching verbum substring ex fine variabilis |
${变量/pattern/string} | Reponere primum matching forma cum filum |
${变量//pattern/string} | Reponere omnia exemplaria cum filum |
Operatio exemplum: Delere lima nomen tuum
# 通过⼦串的替换⽅式
snowk@SnowKYP# f=stu_102999_1_finished.jpg
# 变量的⼦串功能,去掉后缀
snowk@SnowKYP# echo ${f//_finished/}
stu_102999_1.jpg
# 利⽤变量的反引⽤替换⽂件名
snowk@SnowKYP# mv $f `echo ${f//_finished/}`
# 剩下的⽂件,利⽤循环操作
# 找出剩下所有需要替换的jpg⽂件
snowk@SnowKYP# ls *fin*.jpg
stu_102999_2_finished.jpg stu_102999_3_finished.jpg stu_102999_4_finished.jpg
stu_102999_5_finished.jpg
# 写shell循环代码,循环操作
# 去掉所有jpg⽂件的_finished后缀
snowk@SnowKYP# for file in `ls *fin*.jpg`;do mv $file `echo ${file//_finished/}`;done
snowk@SnowKYP# ls *.jpg
stu_102999_1.jpg stu_102999_2.jpg stu_102999_3.jpg stu_102999_4.jpg stu_102999_5.jpg
parameter,参数,范围
${parameter:-word}
:siparameter
Valor variabilis inanis est, reditusword
filum${parameter:=word}
:siparameter
Valor variabilis inanis est, ergoword
Reponit valorem variabilis et redit ad valorem${parameter:?word}
:siparameter
Valor variabilis inanis est;word
asstderr
Output, aliter valorem variabilis output ${parameter:+word}
:siparameter
Si valor variabilis inanis est, nihil, secusword
reditus# 原脚本命令,有bug,有歧义
find ${file_path} -name '*.tar.gz' -type f -mtime +7 | xargs rm -f
# 修正后的脚本命令
# 如果有bug起义,就在当前目录搜索并执行删除
find ${file_path:=/tmp} -name '*.tar.gz' -type f -mtime +7 | xargs rm -f