小编Dav*_*lsh的帖子

MacOS 终端启动缓慢,窗口标题在“login”、“env”、“bash”和“zsh”之间转换 - 但 /bin/zsh 单独启动速度很快

我的终端启动时间很慢,在 2 秒范围内,但仅在打开新的终端窗口/选项卡(iTerm2 和终端)时。

zsh从现有终端窗口启动时,它会快速启动。

~ % /usr/bin/time zsh -i -c exit
        0.01 real         0.00 user         0.00 sys

~ % /usr/bin/time /bin/zsh -i -c exit
        0.01 real         0.00 user         0.00 sys

~ % /usr/bin/time /bin/bash -i -c exit
        0.00 real         0.00 user         0.00 sys

~ % /usr/bin/time bash -i -c exit
        0.01 real         0.00 user         0.00 sys
Run Code Online (Sandbox Code Playgroud)

打开新窗口/选项卡时,选项卡标题在“login”“env”“bash”之间转换,最后在“zsh”之间转换。

视频链接伊姆古尔

我尝试将默认 shell 设置为/bin/zshusing chsh,并尝试将终端配置文件中的 shell 设置为/bin/zsh以防万一。

我的里面什么都没有

.zshrc
/etc/zshrc

.bash_profile
.profile
.bashrc
/etc/bashrc
Run Code Online (Sandbox Code Playgroud)

当将 Fish …

bash zsh terminal macos

10
推荐指数
1
解决办法
1129
查看次数

是否有“可执行目录”之类的东西?

在 MacOS 中,您可以使用后缀命名文件夹.app,并且可以根据内部文件夹结构约定将其作为应用程序从 GUI 启动。

Linux 中存在这样的东西吗?

例如,我可以将一个目录标记为可执行文件吗?当尝试执行该目录时(无论是从 CLI 还是从 GUI),Linux 将在内部查找./main(或类似的)来执行。

编辑:

这主要只是出于好奇,但就行为而言,我希望知道是否有某种方法可以用一些元数据标记文件夹,告诉 Linux 将其用作内部保存的二进制文件的代理 - 类似于:

mkdir hello-world.app

# Create executable inside folder
echo "#!/bin/bash" > hello-world.app/bin/main
echo "echo Hello World" >> hello-world.app/bin/main

# Add some kind of meta-data to tell Linux what to do when executing folder
echo "execute=bin/main" > hello-world.app/app_manifest

# Mark as executable
chmod +x ./hello-world.app

# Run folder
./hello-world.app

# "Hello World"
Run Code Online (Sandbox Code Playgroud)

我的想法是,这将是一种方便、省力的方式来分发应用程序及其依赖项、文档,同时也可以作为配置的方便目的地。

我想如果一个软件需要一个与系统上安装的动态库不同的动态库,您只需下载适当的动态库并将其放入,hello-world.app/lib二进制文件会更喜欢本地库而不是系统库。

我知道 Linux 的约定是使用/usr/local …

linux executable

5
推荐指数
1
解决办法
300
查看次数

标签 统计

bash ×1

executable ×1

linux ×1

macos ×1

terminal ×1

zsh ×1