我想获取datetime并创建一个名为的目录,然后cd
到此目录。
这是我的bash脚本:
t=$(date +%F-%H%M%S)
mkdir $t
cd $t
但它并没有完全发挥作用。
它创建了一个目录,但cd
命令不起作用。
截图:
答案 0 :(得分:0)
您正在运行带子shell的脚本。
在脚本中运行cd
的问题是它从该目录开始创建子shell。当脚本结束时,子shell也会结束,并且当你运行脚本时,你会回到你开始的地方。所以它是这样的:
您可以证明cd
在脚本中有效,并且您在执行脚本时通过留下标记进入该目录。
t=$(date +%F-%H%M%S)
mkdir $t
cd $t
echo "I'm here" > inside.txt
现在,当脚本结束时,您将回到启动脚本的位置。但如果您cd
到目录,然后运行ls
,那么您就会看到自己制作的文件。
正如@Dawid Ferenczy所指出的那样,你实际上可以source
将这个脚本source test.sh
放入当前的shell而不是运行子shell,例如:
let logo = UIImage(named: "LogoMV_BAR@2x");
let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 100, height: 30))
imageView.image = logo
imageView.contentMode = UIViewContentMode.ScaleAspectFit
self.navigationItem.titleView = imageView