什么之间的区别<<,<<<并< <在bash?
我经常在 bash 中键入这些命令:
mkdir something
cd something
Run Code Online (Sandbox Code Playgroud)
我几乎从不这样做:
mkdir something
ls # something in the current directory, not ./something/
Run Code Online (Sandbox Code Playgroud)
从来没有这个:
mkdir something something2
Run Code Online (Sandbox Code Playgroud)
我怎样才能mkdir cd进入新创建的目录?我的意思是,如果 I mkdir something,则命令cd something在之后立即执行。
例子:
$ pwd
/home/me
$ mkdir something
$ pwd
/home/me/something
Run Code Online (Sandbox Code Playgroud) 我想为 grep 创建一个别名,如下所示:
grep argX ~/myfile
Run Code Online (Sandbox Code Playgroud)
其中 argX 是参数,而 myfile 始终相同。我怎样才能做到这一点?
我有别名
alias moveit='mkdir $1 && find -name "*$1*" -type f -exec mv -t ~/$1 {} +'
Run Code Online (Sandbox Code Playgroud)
但我不太确定我做错了什么。
任何帮助将非常感激。
我正在尝试在键入时创建别名 moveit pdf
pdf在当前工作目录中调用的目录。pdf在工作目录及其所有子目录中搜索名称中包含的所有文件。pdf.我知道这pdf会返回不是pdfs 的其他文件。我基本上是在尝试创建一个自动排序脚本。
我有文件叫:
alias moveit='mkdir $1 && find -name "*$1*" -type f -exec mv -t ~/$1 {} +'
Run Code Online (Sandbox Code Playgroud)
我想将这些文件分类到名为pdf、txt和 的文件夹中rtf,所有这些都在一个脚本中,或者现在至少一次一个。
我经常使用:
find /home -iname foo* 2> /dev/null
Run Code Online (Sandbox Code Playgroud)
将2> /dev/null抑制任何权限问题,叶合法比赛。
我尝试创建:
alias lost=find /home -iname ${1} 2> /dev/null
Run Code Online (Sandbox Code Playgroud) 我有一些远程机器,我需要在那里编译一些源代码。我通常做的是写一个别名,它说的是:
alias g++='g++ `pkg-config --cflags opencv --libs opencv`'
Run Code Online (Sandbox Code Playgroud)
然后当我去远程编译时,我会做g++ -o test test.cpp.
无论出于何种原因,Ubuntu 不会让我这样做。相反,当我这样做时,Ubuntu 可以工作:
g++ file.cpp -o file `pkg-config --cflags opencv --libs opencv`
Run Code Online (Sandbox Code Playgroud)
但这意味着我不能为 g++ 编写别名。有没有办法可以编写一个带参数的别名?我该怎么办?
我想为移动命令创建一个别名 -
trash='mv <some files> /home/$USER/.local/share/Trash/files'
我如何使这项工作?
我希望目的地始终相同。但我希望能够传递要移动的文件。
我想在我的 .bashrc 或 .bashrc_aliases 文件(可能是后者)中创建一个别名。具体来说,我想为我正在编写的 *.c 文件调用 clang 命令。如果我提供一个例子,我正在寻找的是最好的总结:
我写了 program1.c 我希望能够输入(在终端中)compile program1,并且应该实际运行类似以下的内容:
clang -ggdb -std=c99 -Wall -Werror program1.c -lcrypt -lcs50 -lm -o program1
Run Code Online (Sandbox Code Playgroud)
对于那些上过哈佛 CS50 课程的人,你会认为这是他们的make命令。因此,如果以上是不可能的,并且您知道另一种方法来实现这一点,那么我全神贯注。我试图避免使用他们的 VM,因为我的上网本并不能真正达到处理 VM 的标准。
bash ×8
command-line ×6
alias ×5
cd-command ×1
compiling ×1
coreutils ×1
find ×1
g++ ×1
mkdir ×1
redirect ×1