cd $1:-. 这是啥意思[重复]

Posted

技术标签:

【中文标题】cd $1:-. 这是啥意思[重复]【英文标题】:cd $1:-. what does that mean [duplicate]cd $1:-. 这是什么意思[重复] 【发布时间】:2017-06-30 09:40:39 【问题描述】:
#====================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, la commande suivante devient cd .
cd $1:-. # problem that i miss understood
for i in * ; do
if [ -d $i ] ; then
echo "$PWD/$i/ <-- repertoire"
$0 $i # le script s'invoque lui-même
else
echo $PWD/$i
fi
done

================================================ ====

谁能给我解释一下这张 cd $1:-. 是什么意思,如果有文章解释一下如何使用它

【问题讨论】:

您的问题已包含法语答案。 【参考方案1】:

$a:-b 表示,如手册中所述,如果已定义,则使用 $a,否则仅使用 b

这里的想法是,如果脚本收到一个参数,$1 将被定义,脚本将cd 到那个目录。如果脚本没有收到参数,$1-. 将扩展为提供的默认值.

由于. 表示当前目录而cd . 是空操作,这基本上意味着“cd$1 如果可用,否则只需继续执行脚本。”

【讨论】:

以上是关于cd $1:-. 这是啥意思[重复]的主要内容,如果未能解决你的问题,请参考以下文章

这是啥意思“超过30秒的最大执行时间”在php中[重复]

^(插入符号)在Java中是啥意思[重复]

===在php中是啥意思[重复]

“:foo”在红宝石中是啥意思[重复]

这是 jQuery 相关的,这是啥意思? [复制]

linux命令中cd / 和 cd ~ 是啥意思?