Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在bash脚本中运行时,应用程序找不到字符设备文件_Linux_Bash - Fatal编程技术网

Linux 在bash脚本中运行时,应用程序找不到字符设备文件

Linux 在bash脚本中运行时,应用程序找不到字符设备文件,linux,bash,Linux,Bash,我试图在bash脚本中启动串行端口应用程序。由于某种奇怪的原因,应用程序无法获取/dev/ttyACM0设备文件。如果我直接从终端在/dev/中键入ls-la,则设备文件可见。当我在bash脚本中尝试相同的操作时,除了ttyACM0之外,每个设备文件都是可见的 在终端: root@pc:~$ ls -la /dev/ttyAC* crw-rw---T 1 root dialout 166, 0 Feb 18 17:25 /dev/ttyACM0 手稿: ls: cannot access /d

我试图在bash脚本中启动串行端口应用程序。由于某种奇怪的原因,应用程序无法获取/dev/ttyACM0设备文件。如果我直接从终端在/dev/中键入ls-la,则设备文件可见。当我在bash脚本中尝试相同的操作时,除了ttyACM0之外,每个设备文件都是可见的

在终端:

root@pc:~$ ls -la /dev/ttyAC*
crw-rw---T 1 root dialout 166, 0 Feb 18 17:25 /dev/ttyACM0
手稿:

ls: cannot access /dev/ttyAC*: No such file or directory
所有其他设备文件仍然可见。。有人知道这是怎么可能的吗

以下是脚本:

#!/bin/bash

# gpio defs
mcu_reset=49 #gpio2_17
mcu_erase=50 #gpio2_18

dir_export="/sys/class/gpio/export"
dir_reset="/sys/class/gpio/gpio$mcu_reset"
dir_erase="/sys/class/gpio/gpio$mcu_erase"

# Initialise Reset and erase gpio
if [ ! -d "$dir_reset" ]; then
  echo $mcu_reset > $dir_export
  echo out > "$dir_reset/direction"

  echo $mcu_erase > $dir_export
  echo out > "$dir_erase/direction"

  echo 0 > "$dir_erase/value"
  echo 1 > "$dir_reset/value"
  echo "* GPIO directories initialised!"
fi

# erase mcu flash
echo "* Erasing device..."
echo 1 > "$dir_erase/value"
sleep 0.5
echo 0 > "$dir_erase/value"
sleep 0.5

# reset device
echo "* Resetting device..."
echo 0 > "$dir_reset/value"
sleep 0.5
echo 1 > "$dir_reset/value"
sleep 0.5

# Flash device
#$(bossac -e -d -w -v -b argv[0])
ls -la /dev/ttyAC*

# reset device
echo "* Resetting device..."
echo 0 > "$dir_reset/value"
sleep 0.5
echo 1 > "$dir_reset/value"
sleep 0.5

发现问题了!当执行'echo 1>“$dir_reset/value”时,连接到linux的mcu将重置。0.5秒的睡眠时间是mcu再次启动的时间

你能把完整的剧本贴出来吗?