就 4 行代码应该难不倒大佬们
paraview () {
local _paraviews=(/Applications/[Pp][Aa][Rr][Aa][Vv][Ii][Ee][Ww]*.app)
$_paraviews/Contents/MacOS/paraview "$@"
}
export -f paraview
这段只能在 bash 上跑,zsh 不认export -f
,上网研究了半天,都说要把函数挪到 zshrc 里面,那就跟 bash 又不兼容了。
1
lululau 2021-03-01 13:12:12 +08:00
zsh 不支持导出函数
|
3
tankren 2021-03-01 13:45:52 +08:00
这一段用 bash 写,加个头#!/usr/bin/env bash
然后 zsh 里面调用? |
4
xuegy OP |
5
AngryPanda 2021-03-01 14:04:01 +08:00
都说要把函数挪到 zshrc 里面,那就跟 bash 又不兼容了。
---------------- 这样如何: if [ "$0" == "bash" ]; then export -f fi |
6
AngryPanda 2021-03-01 14:05:05 +08:00
@xuegy $SHELL 返回的是默认 shell, $0 是当前 shell
|
8
xuegy OP @AngryPanda 这一段根本就不是可执行文件,是有另一个脚本加载这段文本,所以 hangbang 无效,$0 是空的。
|
9
omph 2021-03-01 14:47:01 +08:00
独立成文件,用之前 source 一下不行么?
|
10
TimePPT 2021-03-01 14:48:06 +08:00
如果需求是 macOS 下快速用某 app 打开文件,直接用 open 命令得了
|
11
initd 2021-03-01 14:51:07 +08:00
|
12
initd 2021-03-01 14:57:14 +08:00
有些命令 zsh 就是执行不了,
之前用 certbot 就遇到了这种问题 |
13
initd 2021-03-01 14:58:15 +08:00
建议用 ruby 写脚本,比 bash 正常多了
|