Vaše proměnná obsahuje návrat vozíku. Zkuste říct:
cd $(echo $RED_INSTANCE_NAME | tr -d '\r')
a mělo by to fungovat. Chcete-li odstranit CR z proměnné, můžete říci:
RED_INSTANCE_NAME=$(echo $RED_INSTANCE_NAME | tr -d '\r')
Následující by ilustroval problém:
$ mkdir abc
$ foo=abc$'\r'
$ echo "${foo}"
abc
$ cd "${foo}"
: No such file or directory
$ echo $foo | od -x
0000000 6261 0d63 000a
0000005
$ echo $foo | tr -d '\r' | od -x
0000000 6261 0a63
0000004
$ echo $'\r' | od -x
0000000 0a0d
0000002
Jedním ze způsobů, jak narazit na váš popsaný problém, je mít vlnovku (~
) v názvu proměnné. Použijte absolutní cestu nebo $HOME
místo toho proměnná. Všimněte si, že pomocí $HOME
bude vyžadovat dvojité uvozovky.
# doesn't work
$ vartilde='~/'
$ cd $vartilde
-bash: cd: ~: No such file or directory
# works
$ varfullpath='/Users/recurvirostridae'
$ cd $varfullpath
# works
$ varwithhome="$HOME"
$ cd $varwithhome
Zkuste
cd "$RED_INSTANCE_NAME"
Také se ujistěte, že cesta dává smysl k aktuálnímu adresáři, kde je cd
příkaz je proveden.
Co znamená, že se zobrazí [alternativy --config mta]?
Dvě verze pythonu na linuxu. jak nastavit 2.7 jako výchozí