请让我知道为什么以下命令在csh模式下工作而不是在bash中。更改为最新或最旧的目录 - csh idiom不能在bash中工作
击:
~ $ cd `ls -ltr | grep ^d | tail -1 | awk '{print $9}'`
bash: cd: synopsys_cache_L-2016.03-SP5: No such file or directory
~ $ pwd
/home/mkumar
更改为CSH之后:依靠解析ls
is innately bug-prone
~ $ csh
CSH > cd `ls -ltr | grep ^d | tail -1 | awk '{print $9}'`
CSH > pwd
/home/mkumar/synopsys_cache_L-2016.03-SP5
建立依赖'ls'输出的逻辑是一个非常糟糕的主意。 – codeforester
此外,我不知道如何'cd ls -ltr | grep^d |尾-1 | awk'{print $ 9}''永远有效。可能是你的意思是'cd $(cd ls -ltr | grep^d | tail -1 | awk'{print $ 9}')'。 – codeforester
@codeforester这只是问题的格式问题。 – chepner