网站上有一些问题似乎与我的问题有关,但我无法在其中任何一个问题中找到解决方案。
我的操作系统是 Ubuntu 12.04。我已经mvn安装/tools/noarch/apache-maven-3.1.1并在我的末尾添加了以下几行/etc/profile:
export M2_HOME=/tools/noarch/apache-maven-3.1.1
export PATH=$M2_HOME/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
之后我执行source /etc/profile.
现在我的问题是:当我运行mvn --version命令成功并mvn找到可执行文件时,如果我执行:sudo mvn --version我得到输出:sudo: mvn: command not found。我知道PATH当我执行命令时可能会有所不同sudo,这就是我尝试这样做的原因:
$>sudo echo $PATH
/tools/noarch/apache-maven-3.1.1/bin:... some other stuff ...
Run Code Online (Sandbox Code Playgroud)
我尝试的另一件事是执行sudo su -然后键入mvn --version. 在这种情况下mvn成功找到并且命令成功。这里发生了什么?
我有一组存储库根据它们的 VCS(Git、Mercurial、SVN)分类到目录中。使用 Subversion 我能够svn update *在父目录中运行,它会遍历每个目录并按预期更新每个存储库。对于 Git 或 Mercurial 而言,情况并非如此。
我想拿出一个bash脚本,我可以运行通过目录和要么做到这些,循环git pull或hg pull在每个。我只是没有太多的 bash 脚本经验。
我正在制作一个shell脚本来打包一些文件。我正在压缩这样的目录:
zip -r /Users/me/development/something/out.zip /Users/me/development/something/folder/
Run Code Online (Sandbox Code Playgroud)
问题是生成的 out.zip 存档中包含整个文件路径。也就是说,解压缩后,它将包含整个“/Users/me/development/anotherthing/”路径。将目录放入存档时是否可以避免这些深层路径?
当我从目标目录中运行 zip 时,我没有这个问题。
zip -r out.zip ./folder/
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我没有得到所有的垃圾。但是,有问题的脚本将从任何地方调用。
FWIW,我在 Mac OS X 10.6 上使用 bash。
什么是正确的语法:
find . -type f -name \*.\(shtml\|css\)
Run Code Online (Sandbox Code Playgroud)
这有效,但不优雅:
find . -type f -name \*.shtml > f.txt && find . -type f -name \*.css >> f.txt
Run Code Online (Sandbox Code Playgroud)
如何做同样的事情,但击键次数更少?
失败的简化示例:
FLAGS='--archive --exclude="foo bar.txt"'
rsync $FLAGS dir1 dir2
Run Code Online (Sandbox Code Playgroud)
我需要包含引号,就像命令是这样的:
rsync --archive --exclude="foo bar.txt" dir1 dir2
Run Code Online (Sandbox Code Playgroud) 我如何切换到我的拇指驱动器的目录?我一直在四处寻找,看到这个命令“diskutil list”列出了我所有的本地磁盘。产生这个..
David-Adamss-MacBook-Pro:~ davidadams$ diskutil list
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *250.1 GB disk0
1: EFI 209.7 MB disk0s1
2: Apple_HFS Macintosh HD 249.7 GB disk0s2
/dev/disk3
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *4.0 GB disk3
1: DOS_FAT_32 THUMBDRIVE 4.0 GB disk3s1
Run Code Online (Sandbox Code Playgroud)
现在我看到我的拇指驱动器显示在 /dev/disk3 中,但我无法访问它。我可以 cd 到 /dev ,但这是我能得到的。
“cd /dev/disk3/THUMBDRIVE”告诉我“-bash:cd:/dev/disk3/THUMBDRIVE:不是目录”
任何帮助都会很棒。
我可以将文件复制到远程 Linux 机器上,没有问题
scp file user@host: /pathtowrite_file
Run Code Online (Sandbox Code Playgroud)
但是,我很难将文件从一台 linux 机器写入到另一台机器。这是我的尝试:
echo 'Some Text' > /remotefile.txt | ssh user@remotehost
Run Code Online (Sandbox Code Playgroud)
我得到的通知是
标准输入:不是 tty
无论如何,远程机器上的文件没有反映发送的“Some Text”的文本。
有没有办法从 Windows 上的 Bash 访问可移动媒体(例如拇指驱动器或 SD 卡)?
Windows 上的 Bash使用 DriveFs在/mnt文件夹中安装固定驱动器,但它不会自动安装可移动媒体。它看起来也不像是将它们放入/dev其中:
Aaron@MYPC:/$ ls /dev
block fd kmsg lxss null ptmx pts random shm stderr stdin stdout tty tty0 tty1 urandom zero
Run Code Online (Sandbox Code Playgroud)
有没有办法挂载可移动驱动器?有没有办法访问底层块设备?
bash windows-10 windows-subsystem-for-linux windows-10-v1607
我设置了,export HISTSIZE=99999999999999但这是最好的方法吗?我不知道是否会发生溢出。我正在寻找一种经过测试的可靠方法来删除命令历史记录限制。
以下在 Fedora 和 CentOS 中的行为相同。
cd mydirectory
Run Code Online (Sandbox Code Playgroud)
作品。
cd notadirectory
Run Code Online (Sandbox Code Playgroud)
有效(从 Bash 获取错误)。
然而,
cd `
Run Code Online (Sandbox Code Playgroud)
给了我某种提示:
>
Run Code Online (Sandbox Code Playgroud)
我想输入的任何内容都没有给出任何响应,它只是转到下一行再次提示。我只是使用CTRL+C退出回到我的root@localhost.
这样做的目的是什么,人们可以用它做什么?
谢谢!