标签: bash

如何重置 powershell 中的所有别名

我最近将别名设置为非命令,因为我不知道如何使用设置别名。我想知道如何重置所有别名而不影响 powershell 附带的默认别名。

我尝试使用Remove-Alias但它返回给我这个错误:

PS C:\Users\me\Desktop\Projet\> Remove-Alias lua
Remove-Alias : The term 'Remove-Alias' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a 
path was included, verify that the path is correct and try again.
At line:1 char:1
+ Remove-Alias lua
+ ~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Remove-Alias:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
Run Code Online (Sandbox Code Playgroud)

powershell bash shell command-line

2
推荐指数
1
解决办法
1679
查看次数

启动终端时出现“:找不到命令”(:是冒号)错误

当我打开终端会话时,似乎突然出现一系列错误,例如:

: 找不到命令
: 找不到命令
: 找不到命令
: 无效的 shell 选项名称
: 找不到命令
: 找不到命令
: 找不到命令
: 无效的 shell 选项名称
: 找不到命令
: 找不到命令
: 找不到命令
bash: /home/user/.bashrc: 第 35 行: 意外标记 `$'in\r'' 附近出现语法错误
'ash: /home/user/.bashrc: 第 35 行: `case "$TERM" in

我最近确实添加了一些东西~.bashrc,但我只是改变了PATH。看了一下.bashrc,看起来完全没问题。

这是什么原因?我如何解决它?

linux terminal bash

2
推荐指数
1
解决办法
1819
查看次数

来自 WSL2 shell 的别名 CMD 命令

我在 Windows 10 上运行 WSL2,并且希望能够在不退出 Linux shell 的情况下从中运行 CMD 命令。具体来说,我想做的是:

wmic diskdrive get Model,Manufacturer,Size,DeviceID,Status,InterfaceType
Run Code Online (Sandbox Code Playgroud)

我如何使用 WSL2 做到这一点?

bash bash-alias cmd.exe windows-10 windows-subsystem-for-linux

2
推荐指数
1
解决办法
4753
查看次数

如何在 Asustor 的 NAS Linux 上安装 Bash 和 Zsh?

有了Asustor NAS(例如AS7004t-i5),我们就可以ssh进入盒子中运行的Linux。但它正在使用sh. 没有bashzsh、 和apt-getyum不起作用。我们如何在那里安装 Bash 和 Zsh?

linux nas bash asustor

2
推荐指数
1
解决办法
4917
查看次数

将 tar.gz 文件解压到某个目录,如果不存在则创建该目录

我知道我可以跑

$ tar xf somefile.tar.gz -C somedir
Run Code Online (Sandbox Code Playgroud)

将 tar.gz 文件提取到 somedir,但它需要 somedir 首先存在。

有没有办法提取到目录并在目录不存在时动态创建该目录?

linux bash tar

2
推荐指数
1
解决办法
8034
查看次数

ImageMagick - 如何避免使用 mogrify 覆盖现有文件?

我的这些文件位于./

a.jpg
b.jpg
256/a.jpg
Run Code Online (Sandbox Code Playgroud)

我正在运行以下命令将文件转换为 256px:

a.jpg
b.jpg
256/a.jpg
Run Code Online (Sandbox Code Playgroud)

但该命令始终会覆盖 中的现有文件256,例如256/a.jpg. 尽管图像看起来相同,但git diff仍会检测到文件中的更改。如何避免使用 覆盖现有文件mogrify

版本:

ImageMagick 7.0.10-23 Q16 x86_64 2020-07-05
64bit Mac OS X 10.15.6 19G73
Run Code Online (Sandbox Code Playgroud)

编辑:

我想要的结果是:

a.jpg
b.jpg
256/a.jpg (Unchanged)
256/b.jpg (Created)
Run Code Online (Sandbox Code Playgroud)

@Sam Forbis 的回答
使用convert -resize 256x256 *.jpg -append ./256/*.jpg将导致:

a.jpg
b.jpg
256/a.jpg (Unchanged)
255/a-0.jpg (Created)
256/a-1.jpg (Created)
Run Code Online (Sandbox Code Playgroud)

bash imagemagick mogrify macos

2
推荐指数
1
解决办法
1956
查看次数

vscode cd 到工作区文件夹

的正常行为cd是返回到$HOME。在 vscode 终端中时,我想将cd我带到工作区根目录。我不想使用热键或只是打开另一个终端。

仿佛:

~/path/to/workspace $ cd /tmp
/tmp $ cd foo
/tmp/foo $ cd
~/path/to/workspace $ 
Run Code Online (Sandbox Code Playgroud)

相关:A如何在 Visual Studio Code 中将终端更改为当前目录?(热键)[重复]作为我没有问的问题的欺骗而关闭1

1 “如何快速更改 shell 文件夹以匹配当前打开的文件”。当前文件不是工作区文件夹。

bash visual-studio-code

2
推荐指数
1
解决办法
2364
查看次数

带有美元变量的 Docker exec

我正在尝试使用环境变量在 Docker 容器内运行命令,但我无法找出正确的语法。

我可以看到变量设置正确:

$ docker exec -e FOO=bar cfdb72_db_1 env | grep FOO
FOO=bar
Run Code Online (Sandbox Code Playgroud)

我认为双美元符号 ( $$) 在这里可以工作,但打印出一个奇怪的数字。

$ docker exec -e FOO=bar cfdb72_db_1 echo $FOO

$ docker exec -e FOO=bar cfdb72_db_1 echo '$FOO'
$FOO
$ docker exec -e FOO=bar cfdb72_db_1 echo \$FOO
$FOO
$ docker exec -e FOO=bar cfdb72_db_1 echo $$FOO
24136FOO
Run Code Online (Sandbox Code Playgroud)

linux bash docker

2
推荐指数
1
解决办法
4173
查看次数

如何在Centos 7上正确升级gcc?

我这样做是为了将 gcc 从 4.8.5 升级到 gcc 7:

sudo yum install centos-release-scl
sudo yum install devtoolset-7-gcc*
source /opt/rh/devtoolset-7/enable
Run Code Online (Sandbox Code Playgroud)

这确实给了我当前 bash 终端中的 gcc 7。但是,如果我启动 python 终端,它显示 gcc 仍然是 gcc 4.8.5,如下所示:

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/rh/devtoolset-7/root/usr/libexec/gcc/x86_64-redhat-linux/7/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/opt/rh/devtoolset-7/root/usr --mandir=/opt/rh/devtoolset-7/root/usr/share/man --infodir=/opt/rh/devtoolset-7/root/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-plugin --with-linker-hash-style=gnu --enable-initfini-array --with-default-libstdcxx-abi=gcc4-compatible --with-isl=/builddir/build/BUILD/gcc-7.3.1-20180303/obj-x86_64-redhat-linux/isl-install --enable-libmpx --enable-gnu-indirect-function --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 7.3.1 20180303 (Red Hat 7.3.1-5) (GCC)
Run Code Online (Sandbox Code Playgroud)

在 python …

centos bash python gcc

2
推荐指数
1
解决办法
2万
查看次数

如何在 Windows 10 中的 ConEmu 中指定 WSL (Ubuntu) 的启动目录

我已经在 Windows 10 上安装了 WSL2,并成功下载并设置了 Ubuntu。

我已经安装并设置了 ConEmu 终端以成功运行 Ubuntu。

但是ConEmu在C:\Users\MyUsers中打开Ubuntu

我想在 Linux (Ubuntu) Home\MyUsers\MyProjectFolder 目录中启动

我尝试在 ConEmu - 设置 - 任务 - 6- Bash(或 7- Ubuntu)中使用这些命令,但没有一个起作用:

%windir%\system32\wsl.exe -cur_console:pm:/mnt --distribution Ubuntu -c "cd"
%windir%\system32\wsl.exe -cur_console:p -c "cd"
%windir%\system32\wsl.exe -cur_console:p -c "cd /home"
%windir%\system32\wsl.exe -cur_console:pm:/mnt --distribution Ubuntu -c "~"
set "PATH=%ConEmuBaseDirShort%\wsl;%PATH%" & %ConEmuBaseDirShort%\conemu-cyg-64.exe --wsl -cur_console:pm:/mnt -C "~"
wsl.exe -cur_console:pm:/mnt -C "~"
Run Code Online (Sandbox Code Playgroud)

linux bash ubuntu conemu windows-subsystem-for-linux

2
推荐指数
1
解决办法
5644
查看次数