我有 2 个 shell 脚本,file1.sh 和 file2.sh
文件1.sh
#!/usr/bin/env bash
export var1="/data/share"
export var2='password'
echo "Hello"
Run Code Online (Sandbox Code Playgroud)
文件2.sh
#!/usr/bin/env bash
source file1.sh
echo $var1
echo $var2
Run Code Online (Sandbox Code Playgroud)
当我执行 file2.sh 时,我得到以下输出
Hello
/data/share
password
Run Code Online (Sandbox Code Playgroud)
但我的预期输出是
/data/share
password
Run Code Online (Sandbox Code Playgroud)
file1.sh 在 file2.sh 中引用时被执行。如何在 file2.sh 中单独导入变量而不执行 file1.sh?
我有
testapi() { docker-compose -f /home/me/projects/api/docker-compose.yml run -e "API_BRANCH=${1-master}" --rm api_test ;}
Run Code Online (Sandbox Code Playgroud)
它会导致错误:
$ src
bash: /home/me/.bash_profile: line 56: syntax error near unexpected token `('
bash: /home/me/.bash_profile: line 56: `testapi() { docker-compose -f /home/me/projects/api/docker-compose.yml run -e "API_BRANCH=${1-master}" --rm api_test ;}'
Run Code Online (Sandbox Code Playgroud)
运行会产生帮助消息:
$ testapi
Run a one-off command on a service.
For example:
$ docker-compose run web python manage.py shell
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏,ty
有没有办法改变 Linux 终端的 Windows 子系统中的光标形状?我希望光标能够反映我在 vim 或 vi 模式下所处的状态。
例如,在 Git Bash 中,我可以使用echo -ne "\e[2 q"和echo -ne "\e[6 q"在块光标和行光标之间切换。这些在WSL中似乎没有任何作用。
我在 Notepadd ++ 中使用 Unix .sh文件时遇到以下问题:
如果整个文档的内容用heredoc命令包装,则整个文档将以一种颜色着色。例如:
**<< 'EOF0'**
Content of the document --- All of which will be dyed in a single color.
**EOF0**
Run Code Online (Sandbox Code Playgroud)
当使用很长的脚本时,由于一个(heredoc)命令,所有内容都以一种单一颜色着色,这可能会很烦人,当您知道在一天结束时,使用多个命令会更舒服-color 文档,就像没有此命令一样。
我试图去Settings > Style configurator > Language --- Bash那里以某种方式完全删除 HERE DELEM && HERE Q,但我在 GUI 中没有找到这样的方法。
如何从 Notepad++ 中删除这两种样式(或任何其他样式),以便它们不会影响 .sh 文档中文本的颜色?(在我的例子中是 .sh 文件)?
我只是不让这样的包装器(heredocs 是文本包装器)以任何颜色着色...我只是想完全删除它们的“本机”Notepad++ 风格...
有许多 3rd 方应用程序允许通过 USB 访问 MTP 设备。这里只有 2 个 http://mac.eltima.com/sync-mac.html http://mac.eltima.com/mtp-file-transfer.html
所以我的问题是,为什么不能直接使用 bash 命令来做到这一点?有没有 bash 专家愿意插话?
该文章从窗户上MTP装置
建议
将 MTP 设备公开为读/写文件系统是不可能的。
如果是这样,应用程序如何实现这一点?
在 Windows 10 中,您可以在 Windows上的 Ubuntu 上启用 Bash。我已经这样做了,但我正在努力弄清楚如何访问磁盘设备。例如,在普通的 Ubuntu 中,如果我想将一个闪存驱动器的低级副本复制到另一个,我可能会执行dd if=/dev/sdb of=/dev/sdc bs=4K,但这些/dev/sd?设备似乎不存在于 Windows 上的 Ubuntu 上的 Bash 中。lsblk也没有列出任何设备。既然dd安装了,我想相信一定有办法访问磁盘设备。这能做到吗?如何?
尝试在 ubuntu 盒子上交换 Ctrl 和 Super 键。
已成功使用 xmodmap 交换 Super 和 Ctrl。现在我只需要将 stty intr 更改为 Super_L + C
我一辈子都找不到超级键的符号。(例如^是控制键)
有谁知道 super 和 stty 的表示法是什么?我希望能够打字
stty intr Super_L + C
Run Code Online (Sandbox Code Playgroud)
例如。
或者其他更好的方法让 Super+C 成为中断
随意更改标题,因为它与我的问题 100% 不匹配
我在一个文件中有这样的东西:
junk
long_ass_string "/I/want/this/$code/$name" long_ass_string
junk
Run Code Online (Sandbox Code Playgroud)
举例说明:
到目前为止,我已经尝试...
grep -w "/I/want/this/*" file# 输出 long_ass_string
grep -o "/I/want/this/*" file# 输出 /I/want/this/
想避免使用仅在之前和/或之后获得 x 个额外字符的解决方案
每当我 ssh 进入我的arch linux框时,我都会收到此错误消息:
setterm: terminal xterm does not support --blength
Run Code Online (Sandbox Code Playgroud)
同样在执行时:
$ sudo su -
Run Code Online (Sandbox Code Playgroud)
有趣的是在使用时不是
$ sudo su
Run Code Online (Sandbox Code Playgroud)
我已经筛选了各种手册页,试图找到设置此终端属性的位置。那些包括setterm和terminfo。我走了这么远
find / -type f -iname "terminfo" -exec grep -i blength {} \;
那返回了 0 个结果。也调查过/etc/.bashrc,/etc/bash.basrc但没有发现任何调用setterm甚至包含*blength*在其声明中的内容。
这个问题真的只是一个小麻烦,但我觉得它非常令人恼火,因为我不喜欢看到running使用systemctl status --system. 此外,我确保 PuTTY(使用 SuperPuTTY 作为其前端)没有传递任何命令。我真的很感激关于这个问题的一些建议。非常感谢。
我有一个这样的文件夹结构,根据主题在目录中包含配方 .md 文件:
Recipes
|- Mains
| |- recipe1.md
| |- recipe2.md
|- Desserts
|- recipe3.md
|- recipe4.md
Run Code Online (Sandbox Code Playgroud)
如何将所有这些 Markdown 文件编译成一本 PDF 书?
我需要每个食谱占据一个单独的页面,标题部分(章节)由找到食谱的文件夹定义。我还想要一个包含每个食谱名称的目录,它在哪个页面上以及它在哪个章节中。
我可以使用 pandoc 和 LaTeX 来做到这一点吗?或者也许是一个命令行程序来构建维基?
bash ×10
linux ×4
ubuntu ×2
windows-subsystem-for-linux ×2
arch-linux ×1
colors ×1
command-line ×1
docker ×1
grep ×1
hard-drive ×1
macos ×1
markdown ×1
mtp ×1
notepad++ ×1
pandoc ×1
pdf ×1
putty ×1
shell ×1
shell-script ×1
stty ×1
terminal ×1
usb ×1
windows-10 ×1
xterm ×1