我正在尝试为以下命令创建别名
lsof -i :$1 | awk 'NR!=1 {print $2}' | xargs kill
但是我不断收到错误:
lsof: unacceptable port specification in: -i :
我尝试了不同的方法,但始终无法成功传递端口号。如何将端口号传递到此别名中?
假设我有这个搜索词:
grep -i -r --include=*.xib "img_28301.png" ./
Run Code Online (Sandbox Code Playgroud)
我将如何创建一个允许我执行此操作的别名:
xibsearch img_28301.png
Run Code Online (Sandbox Code Playgroud)
并做同样的事情?
我在学习 ZSH 的过程中遇到了好奇心,并且我很难找到与此相关的信息。我想知道为什么这不起作用的技术解释(定义然后在单个 eval 调用中扩展别名):
eval "alias d='echo hello'; d"
zsh: command not found: d
Run Code Online (Sandbox Code Playgroud)
而这确实有效:
eval "function d = { echo hello; }; d"
hello
Run Code Online (Sandbox Code Playgroud) 我正在提供一些服务,并且我有一个 setup.sh 文件,必须第一次(或更新时)执行该文件。该脚本应该创建某种别名,可以从该终端或新终端访问该别名(也在系统重新启动后)。该别名应指向另一个可执行 sh 文件。
setup.sh 文件:
#!/bin/bash
alias customservice='./customservice.sh "$@"'
Run Code Online (Sandbox Code Playgroud)
如您所见,此 customservice.sh 脚本已准备好接受多个参数。使用这个自定义服务别名,我想像这样调用这个脚本:
customservice //显示帮助
customservice启动
customservice停止
customservice exec bash
...
我的 customservice.sh 文件:
if [ $# -eq 1 ] && [ $1 = "start" ]; then
//do something
elif [ $# -eq 1 ] && [ $1 = "stop" ]; then
//do something
elif [ $# > 1 ] && [ $1 = "exec" ]; then
//do stuff with ${@:2}
else
echo "help"
fi
Run Code Online (Sandbox Code Playgroud)
也许 customscript Kill 命令也不错。它应该完全删除这个别名。 …
我有一个静态的ExceptionHelper,看起来像这样:
public static class ExceptionHelper
{
public static async void ShowDialog(string message)
{
// Show message
}
}
Run Code Online (Sandbox Code Playgroud)
每当我想调用这个方法时,我都会这样做:
ExceptionHelper.ShowDialog("This is a message.");
Run Code Online (Sandbox Code Playgroud)
我现在考虑定义一个别名,这样ExceptionHelper每次我想使用它时就不必写整个单词了。
我知道我可以通过以下方式实现它using:
using Ex = MyNamespaces.ExceptionHelper;
Run Code Online (Sandbox Code Playgroud)
但随后我必须在我想要使用该方法的每个文件中定义它。有没有一种方法可以在不更改类名的情况下全局定义别名?或者我可以在类声明之上设置任何属性吗?
如何创建一个别名来创建本地分支并将其推送到上游?我试过了
publish = !git checkout -b $1 && git push -u origin $1
Run Code Online (Sandbox Code Playgroud)
我明白了
Switched to a new branch 'mybranch/test'
error: dst ref refs/heads/mybranch/test receives from more than one src.
error: failed to push some refs to 'ssh://myurl'
Run Code Online (Sandbox Code Playgroud) 我是一名经验丰富的 C# 程序员,但到目前为止,我几乎没有涉足 PowerShell(到目前为止,我使用了另一个替代的 Windows 命令行产品)。
我正在尝试自动化一些 Git 的东西,但我遇到了一些困难,似乎找不到任何解决方案......(到目前为止,似乎也没有视频教程或博客文章有很大帮助) .
我想要做的是定义函数和别名,使我在 PowerShell 中使用 Git 更加舒适 - 是的,我知道Posh-Git,并且已经检查过它 - 但这似乎主要处理呈现PowerShell 中的漂亮 UI。
我想为我一直使用的常见 Git 命令定义“快捷方式” - 并且到目前为止已经成功定义了一些别名。
我现在正在苦苦挣扎的是:我想要git pull(以及git push)的别名,它可以“按原样”运行 - 例如只运行git pull,或者可以运行我需要的最频繁的命令使用 - git pull origin master。
我试图定义一个函数:
function invoke-gitpull { git pull $args }
Run Code Online (Sandbox Code Playgroud)
然后为此定义两个别名——一个只是“按原样”调用这个函数,一个提供两个参数——像这样:
Set-Alias gtp invoke-gitpull
Set-Alias gtpom invoke-gitpull origin master
Run Code Online (Sandbox Code Playgroud)
但不知何故,PS 不喜欢这样:-(
Set-Alias:找不到接受参数“origin”的位置参数。
+ 设置别名 gtpom invoke-gitpull origin master
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~
+ …
我aliases在~/.bash_aliases. 他们使用不同的环境变量设置调用相同的命令,所以我不必每次都输入这些。在aliases做工精细的交互式shell。
alias cmd1='VAR=setting1 cmd $@'
alias cmd2='VAR=setting2 cmd $@'
Run Code Online (Sandbox Code Playgroud)
现在我想将所有这些命令变体一起调用,每个变体都带有选项“list”。为此,我在 Bash 中设置了以下脚本:
#!/bin/bash
shopt -s expand_aliases
source ~/.bash_aliases
CMDs='cmd1 cmd2'
for cmd in CMDs ; do
$cmd list
done
Run Code Online (Sandbox Code Playgroud)
但是,此脚本会产生错误
“找不到相关命令”
对于每个alias调用。我已经尝试了各种变体,但没有看到 Bash 的内部结构在这里是如何工作的。-- 欢迎任何见解!
aliases由于处理一些拼写错误,我有多个别名为一个公共别名。请注意,我用which的zsh壳type中bash。
例如:
alias netlab="ssh user@IP_ADDRESS"
alias n=netlab
alias ne=netlab
alias net=netlab
alias nn=netlab
Run Code Online (Sandbox Code Playgroud)
当我尝试获取别名的类型时,我得到以下信息:
$ which -sa n # in ZSH-shell
n: aliased to netlab
$ type n # in BASH-shell
n is an alias for netlab
Run Code Online (Sandbox Code Playgroud)
既然netlab也有别名,我也能得到它吗?所以基本上,我想which program递归应用。
我想要的示例输出:
$ type n # in BASH-shell
n: aliased to netlab
netlab: aliased to ssh user@IP_ADDRESS
Run Code Online (Sandbox Code Playgroud)
或者只是返回其最新的别名:
$ type n
n: aliased to ssh user@IP_ADDRESS
Run Code Online (Sandbox Code Playgroud)