我想创建自己的自动dotfiles文件夹.(我将使用git在我的dotfiles上使用版本控制,但这与问题无关)
我只想要象征性地将所有文件和文件夹链接~/dotfiles到我的主文件夹.对bash一点都不好,我不能这样做.请帮我解决一下这个.
如果可能的话,我也会欣赏以下功能.
~/dotfiles/vimrc而不是~/dotfiles/.vimrc)当然,如果您已经知道提供此服务的服务,那至少与提供一些自己的命令一样好.注意我特别希望它是bash或者很可能存在于所有unix机器上的东西(所以我猜使用g ++的命令很好).
我正在建立一个网站,用户可以使用kerberos服务登录.虽然,这与我的问题无关.
由于我使用的是kerberos,我想使用系统调用来调用kinit,但我不知道最好的方法.
到目前为止我得到了:
module Kerberos where
system :: String -> IO ExitCode
-- system is loaded through imports
type Username = String
type Password = String
kerberosValidate :: Username -> Password -> IO Bool
kerberosValidate username password = fmap (== ExitSuccess) $
system $ "echo " ++ password ++ " | kinit " ++ username
Run Code Online (Sandbox Code Playgroud)
这样的东西,应该工作得一般.我有三个问题.
username和password字符串.这很重要,因为有一个网站将任何收到的输入传递给此功能.password不应该传递给kinit进程echo password |.是否有一些功能作为参数采用标准?username,username应该作为参数传递.我想rawSystem虽然解决了这个问题.是否有任何系统功能可以帮助我在这里?
所有shell都理解这些命令:
$ cd .
$ cd ..
Run Code Online (Sandbox Code Playgroud)
zsh也会理解:
$ cd ...
$ cd ....
Run Code Online (Sandbox Code Playgroud)
如果你说:
$ alias -g ...='../..'
$ alias -g ....='../../..'
Run Code Online (Sandbox Code Playgroud)
现在,当我开始输入时,如何才能使其完成正确的制表工作cd ..../<TAB>?我记得它是在oh-my-zsh中实现的,但我现在已经停止使用了.
如果它不仅可以用于cd我想要执行,那么也将不胜感激cat ..../a/b/..../c/d | less.
我是一个zsh用户,他开始使用简单的oh-my-zsh配置,现在我尝试通过将我关心的部件从oh-my-zsh导入到我自己的部分来学习zsh .zshrc然后完全删除哦-my-zsh .
当我现在终于冷火鸡并删除了oh-my-zsh时,我注意到我最常用的快捷方式之一,Ctrl+ Q已停止工作.我已经对此进行了调查,并push-line根据此来源找到了要调用的命令.
我不知道如何开始使用ZLE功能.我甚至不确定如何检查zle是否正在运行.我试了几个小时试图搜索oh-my-zsh存储库,但没有找到激活的命令push-line.
为了让Ctrl+ Q工作,我需要做什么?哦,我的zsh做了什么,我需要把它放在自己的zshrc?
Zsh有两个很好的功能,local关键字和数组概念.
local my_var # Declare variable local to this function
Run Code Online (Sandbox Code Playgroud)
和
arr=(1 2 3) # Create array with 3 elements
arr+=4 # Add a fourth element
Run Code Online (Sandbox Code Playgroud)
分别.
将它们组合起来的想法(local arr=())是不可抗拒的,但似乎只是给出错误?可能吗?
考虑这个 Haskell 程序
module RecursiveArray where
import Data.Array ( (!), listArray, Array )
goodArray :: Array Int Int
goodArray = listArray (0, 1) (go 0)
where
go x = x : go ((goodArray ! x) + 1)
badArray :: Array Int Int
badArray = listArray (0, 1) (go 0)
where
go !x = x : go ((badArray ! x) + 1)
main = do
print goodArray
print badArray
Run Code Online (Sandbox Code Playgroud)
哪个将打印
> runghc "RecursiveArray.hs"
array (0,1) [(0,0),(1,0)]
array <program stalls here>
Run Code Online (Sandbox Code Playgroud)
我需要一些帮助来理解这里发生的事情。人们可以使用等式推理来理解正在发生的事情吗?数组内部表示相关吗? …
zsh ×3
arrays ×2
haskell ×2
bash ×1
dotfiles ×1
kerberos ×1
strictness ×1
system-calls ×1
unix ×1
zsh-zle ×1