我正在阅读Linux Command Line 和 Shell Scripting Bible 中有关基本 shell 脚本的信息。
它说该/etc/profile文件在 Bash shell 启动时设置了环境变量。该/etc/profile.d目录包含其他包含特定于应用程序的启动文件的脚本,这些脚本也在启动时由 shell 执行。
如果这些文件/etc/profile对 Bash 启动也很重要,为什么它们不是其中的一部分?
如果这些文件是特定于应用程序的启动文件,对 Bash 启动并不重要,那么它们为什么会成为启动过程的一部分?为什么它们只在包含设置的特定应用程序被执行时才运行?
gcc创建的可执行文件具有执行权限
-rwxrwxr-x
Run Code Online (Sandbox Code Playgroud)
这与源文件具有的权限不同。
-rw-rw-r--
Run Code Online (Sandbox Code Playgroud)
如何gcc设置这些权限?
我使用的gnome-terminal编辑器和我的大多数编辑器都采用黑白主题,因为我发现它更容易上眼。我的一个实验室需要与程序代码一起提交终端的屏幕截图(以及过程)。
那么,有没有办法暂时将终端更改为白底黑字的配色方案,最好是在终端内部?
如果没有,有没有办法在不影响父终端的情况下启动具有反转配色方案的子终端?
根据文档,dash应该是 Debian Wheezy 中的默认 shell,但是当我打开终端并检查SHELL变量时,它指向/bin/bash. 由于这是全新安装,并且我没有进行任何更改,为什么这不是指向/bin/dash?或者默认 shell 是由其他变量存储或指向的吗?
我的脚本中有以下命令:
set -- `getopt -q agvc:l:t:i: "$@"`
...
while [ -n "$1" ]
do
-i) TIME_GAP_BOOT=$2
shift ;;
...
sleep $TIME_GAP_BOOT
Run Code Online (Sandbox Code Playgroud)
使用 调用脚本时-i 2,出现错误
sleep: invalid time interval `\'2\''
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?如何正确格式化参数?