Diverso comportamento del cd con più argomenti nelle versioni bash


14

Pubblicarlo qui qualcosa che mi sta sconcertando; l'aggiornamento di un application server da Jessie a Stretch ha interrotto uno bashscript.

All'indagine, l'abbiamo limitato a un cambiamento nel comportamento del cdcomando. Non sto discutendo qui se ciò che la sceneggiatura sta facendo sia una buona idea, o se potesse essere migliorata, mi sto solo concentrando su un cambiamento di comportamento / consapevolezza della mentalità dei cambiamenti.

Jessie

$echo *-*
xxxx-1.0b xxxx-run
$cd *-*

cd funziona e cd alla prima directory; in realtà * -run è un collegamento simbolico alla stessa directory.

Allungare

$echo *-*
xxxx-1.0b xxxx-run
$cd *-*
bash: cd: too many arguments

bash è 4.3.30 (1) in Jessie e 4.4.12 (1) in Stretch.

Perché il cambiamento nel comportamento tra Jessie e Stretch?


Risposte:


23

Vedi le note di Relase di bash 4.4 , in particolare

qq. C'è una nuova opzione impostabile in config-top.h che rende più argomenti cdfatali gli argomenti della directory .

A proposito, non lo sapevo. Ho appena cercato su "bash cd numero 4.4".


8
Interessante. Una buona cosa imho in quanto evita di scartare silenziosamente argomenti aggiuntivi quando si ha un bug di escape.
extra il

@spectras Il commento interessante, mentre sospettavo che potesse avere implicazioni in termini di sicurezza, non guardava da quel punto di vista.
Rui F Ribeiro,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.