Tag: shell

我如何在shell脚本中声明一个常量variables?

我无法从互联网上find这些信息,是不是可以声明最初的初始化后值不会改变的最终常量variables?

从命令行运行vim命令

从vim运行shell程序有很多问题。 我想知道的是,如果有可能做相反的事情 – 即 $ vim :BundleInstall 例如,让我运行BundleInstall作为脚本的一部分,而不必打开Vim并在第一次运行时手动运行它? 这可能吗?

为什么shell脚本比较经常使用x $ VAR = xyes?

我经常在使用自动工具(autoconf,automake)的项目的构build脚本中看到这一点。 当有人想检查一个shellvariables的值时,经常使用这个习惯用法: if test "x$SHELL_VAR" = "xyes"; then … 简单地检查像这样的值有什么好处: if test $SHELL_VAR = "yes"; then … 我认为我必须有一些原因,我经常看到这一点,但我无法弄清楚它是什么。

如何使一个shell脚本全球?

我在Mac的操作系统10.6,我想了解一些关于shell脚本的东西。 我知道如何保存一个shell脚本,并使其可执行,但我想知道我可以做什么或在哪里可以保存文件,使其全球(即,无论我在什么文件夹中可访问)。 例如,如果我将.sh文件保存在/ Users / username /目录中并使其可执行,那么我只能在该特定目录中执行该脚本。 如果我导航到/用户/用户名/下载,例如,我不能执行该脚本。 此外,任何有关了解shell脚本的资源build议都将有所帮助。 谢谢

使用echo命令通过shell脚本自动执行mysql_secure_installation

我正在尝试自动响应mysql_secure_installation脚本的自动化。 我的代码如下: echo "& yy abc abc yyyy" | ./usr/bin/mysql_secure_installation 我自动化的实际问题如下: Enter current password for root (enter for none): <enter> Set root password? [Y/n] y New password: abc Re-enter new password: abc Remove anonymous users? [Y/n] y Disallow root login remotely? [Y/n] y Remove test database and access to it? [Y/n] y Reload privilege tables […]

使用JAVA_OPTS envvariables运行java

在一个shell脚本中,我已经设置了JAVA_OPTS环境variables(启用远程debugging和增加内存),然后执行jar文件,如下所示: export JAVA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n -Xms512m -Xmx512m" java -jar analyse.jar $* 但似乎没有任何效果的JAVA_OPTS envvariables,因为我无法连接到远程debugging,我看不出JVM的内存的变化。 可能是什么问题呢? PS:我不能在java -jar analyse.jar $*命令中使用这些设置,因为我在应用程序中处理命令行参数。

Vim:将选定的文本传递给shell cmd,并在vim info /命令行上接收输出

我想将选定的文本输出到shell命令,并在vim info /命令行上从shell命令接收单行输出? 我真正想做的事情:将选定的文本传输到一个pastebin-type shell命令,我想要接收shell cmd的输出(这是到pastebin的http链接)。 这可能吗?

如何安排每个月的第一个星期天运行

我在RedHat上使用Bash。 我需要安排一个cron工作,在每个月的第一个星期天上午9:00运行。 我做了一些研究,发现在这个问题上没有简略的手段。 你知道一个最佳的方式吗?

如何获得当前git分支的名字到一个shell脚本中的variables?

我是新的shell脚本,并不能解决这个问题。 如果你不熟悉,命令git分支返回类似 * develop master ,星号标记当前签出的分支。 当我在terminal中运行以下内容时: git branch | grep "*" 我得到: * develop 如预期。 但是,当我跑步 test=$(git branch | grep "*") 要么 test=`git branch | grep "*"` 接着 echo $test ,结果只是目录中的文件列表。 我们如何使test =“* develop”的价值? 然后下一步(一旦我们把“*开发”成一个名为test的variables)就是获取子string。 这只是以下? currentBranch=${test:2} 我正在玩这个子string函数,我得到了很多“不好的replace”错误,不知道为什么。

如何从父进程获取subprocess

是否有可能从shell脚本中的父进程ID获取subprocessID? 我有一个使用shell脚本执行的文件,这导致了一个新的进程process1 (父进程)。 该进程1已经分叉了另一个进程进程2 (subprocess)。 使用脚本,我可以使用以下命令获得process1的pid: cat /path/of/file/to/be/executed 但我无法获取subprocess的PID。